如何在 R 中檢查向量是否包含 NA 值?
R 中的 NA 值表示“不可用”,意味著缺失值。如果一個向量即使只有一個 NA 值,那麼該向量的計算就會變得有點困難,因為我們將不得不刪除該 NA、替換它或在計算過程中忽略它。要執行這些操作中的任何一項,我們都必須對程式碼進行一些更改,因此,在執行任何操作之前,最好檢查向量是否包含 NA。這可以透過結合使用任何函式和 is.na 來實現。
示例
> x1<-c(1,2,3,2) > x1 [1] 1 2 3 2 > any(is.na(x1)) [1] FALSE > x2<-c(1,2,3,2,NA) > x2 [1] 1 2 3 2 NA > any(is.na(x2)) [1] TRUE > x3<-c(4,5,6,"",2,8,7) > x3 [1] "4" "5" "6" "" "2" "8" "7" > any(is.na(x3)) [1] FALSE > x4<-c(4,5,6,"NA",2,8,7) > x4 [1] "4" "5" "6" "NA" "2" "8" "7" > any(is.na(x4)) [1] FALSE > x5<-c(4,5,6,4,2,8,7,NA,4,5,NA,NA) > x5 [1] 4 5 6 4 2 8 7 NA 4 5 NA NA > any(is.na(x5)) [1] TRUE > x6<-rep(c(15,NA,10),times=10) > x6 [1] 15 NA 10 15 NA 10 15 NA 10 15 NA 10 15 NA 10 15 NA 10 15 NA 10 15 NA 10 15 [26] NA 10 15 NA 10 > any(is.na(x6)) [1] TRUE > x7<-rep(c(15,"NA",10),times=10) > x7 [1] "15" "NA" "10" "15" "NA" "10" "15" "NA" "10" "15" "NA" "10" "15" "NA" "10" [16] "15" "NA" "10" "15" "NA" "10" "15" "NA" "10" "15" "NA" "10" "15" "NA" "10" > any(is.na(x7)) [1] FALSE > x8<-1:1000000 > any(is.na(x8)) [1] FALSE > x9<-rep(c(1,2,3,4,5,6,7,8,9,10),times=500000) > any(is.na(x9)) [1] FALSE > x10<-rep(c(1,2,3,4,5,6,7,8,9,10),times=5000000) > any(is.na(x10)) [1] FALSE
尺寸較小的向量獲得答案所需的時間較短,而尺寸非常大的向量則需要稍長的時間才能讓我們知道我們的向量中是否存在 NA。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP