如何在R中檢查資料框是否存在缺失值?


要檢查R中的資料框是否存在缺失值,我們可以使用任何函式與is.na函式一起使用。例如,如果我們有一個名為df的資料框,我們可以使用以下命令來檢查df是否包含任何缺失值。

any(is.na(df))

示例1

以下程式碼片段建立了一個示例資料框:

x1<-rpois(20,5)
x2<-sample(c(NA,2,6),20,replace=TRUE)
df1<-data.frame(x1,x2)
df1

建立了以下資料框:

x1  x2
 1  4  6
 2  8  6
 3  5  6
 4  5  2
 5  6 NA
 6  5  6
 7  3 NA
 8  4  2
 9  9 NA
10  2  6
11  6 NA
12  6 NA
13  6  6
14  6 NA
15  3  6
16  5  6
17  5 NA
18  4  2
19  2  6
20  3 NA

要檢查上面建立的資料框df1是否包含任何NA值,請將以下程式碼新增到上面的程式碼片段中:

x1<-rpois(20,5)
x2<-sample(c(NA,2,6),20,replace=TRUE)
df1<-data.frame(x1,x2)
any(is.na(df1))

輸出

如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:

[1] TRUE

示例2

以下程式碼片段建立了一個示例資料框:

y1<-sample(c(NA,rnorm(5)),20,replace=TRUE)
y2<-rnorm(20)
df2<-data.frame(y1,y2)
df2

建立了以下資料框:

       y1         y2
1  -1.4175108  1.8349444
2  -2.7647068 -0.6014623
3          NA -0.8020289
4  -1.0745120 -0.8106467
5  -2.7647068  0.6680208
6  -2.7647068 -0.5579063
7         NA   1.7695050
8  -1.0745120 -0.1914589
9   0.4555854  0.5047105
10 -1.4175108 -0.6461347
11 -1.0745120  0.7005221
12 -1.0745120  1.9436422
13  0.4555854 -0.4179736
14  0.4555854 -0.2962887
15  0.5136818  1.5961105
16 -1.4175108  0.6244578
17 -1.0745120 -0.4413115
18  0.5136818 -1.4493746
19  0.5136818 -0.1654110
20 -2.7647068  0.7870973

要檢查上面建立的資料框df2是否包含任何NA值,請將以下程式碼新增到上面的程式碼片段中:

y1<-sample(c(NA,rnorm(5)),20,replace=TRUE)
y2<-rnorm(20)
df2<-data.frame(y1,y2)
any(is.na(df2))

輸出

如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:

[1] TRUE

示例3

以下程式碼片段建立了一個示例資料框:

z1<-runif(20,1,5)
z2<-runif(20,1,5)
df3<-data.frame(z1,z2)
df3

建立了以下資料框:

      z1       z2
1  4.199921  3.974369
2  1.362028  2.467372
3  3.970619  4.989726
4  1.969228  4.985778
5  4.238796  1.545944
6  3.406546  3.301960
7  2.345338  1.012634
8  2.181524  4.013063
9  2.187973  3.121378
10 2.136693  3.059296
11 3.430986  1.243260
12 1.427495  1.387059
13 4.714494  3.976311
14 3.235821  3.264096
15 4.604128  4.383884
16 1.398644  3.596508
17 3.139503  1.853239
18 1.764061  3.128764
19 3.234675  3.491583
20 4.461674  3.580696

要檢查上面建立的資料框df3是否包含任何NA值,請將以下程式碼新增到上面的程式碼片段中:

z1<-runif(20,1,5)
z2<-runif(20,1,5)
df3<-data.frame(z1,z2)
any(is.na(df3))

輸出

如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:

[1] FALSE

更新於:2021年10月27日

1K+ 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.