如何在 R 中检查数据框是否有任何缺失值?

r programmingserver side programmingprogramming更新于 2025/4/11 19:52:17

要检查数据框是否有任何缺失值,我们可以使用 any 函数以及 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

相关文章