如何找到 R 数据框每一列中缺失值的百分比?

要查找 R 数据框每一列中缺失值的百分比,我们可以使用 colMeans 函数和is.na函数。这将找到每列中缺失值的平均值。之后,我们可以将输出乘以 100 以获得百分比。

查看下面给出的示例以了解如何完成。

示例 1

以下代码段创建了一个示例数据框 -

x1<-sample(c(NA,1,2),20,replace=TRUE)

x2<-sample(c(NA,5),20,replace=TRUE)

x3<-sample(c(NA,10,12),20,replace=TRUE)

df1<-data.frame(x1,x2,x3)

df1

输出结果

创建以下数据框 -

   x1   x2  x3

1  NA  NA  12

2   2   5  10

3   2   5  12

4   1   5  12

5   1   5  NA

6  NA   5  10

7   1  NA  10

8  NA   5  10

9   2  NA  12

10  2  NA  NA

11 NA  NA  NA

12 NA   5  12

13 NA  NA  10

14  1  NA  NA

15  2  NA  12

16  1   5  NA

17 NA   5  10

18  2   5  10

19 NA   5  12

20 NA   5  12

要查找 df1 的每一列中 NA 的百分比,请将以下代码添加到上述代码段中 -

x1<-sample(c(NA,1,2),20,replace=TRUE)

x2<-sample(c(NA,5),20,replace=TRUE)

x3<-sample(c(NA,10,12),20,replace=TRUE)

df1<-data.frame(x1,x2,x3)

(colMeans(is.na(df1)))*100

输出结果

如果您将上述所有代码作为单个程序执行,它会生成以下输出 -

x1 x2 x3

45 40 25

示例 2

以下代码段创建了一个示例数据框 -

y1<-sample(c(NA,rnorm(2)),20,replace=TRUE)

y2<-sample(c(NA,rnorm(2)),20,replace=TRUE)

df2<-data.frame(y1,y2)

df2

输出结果

创建以下数据框 -

     y1        y2

1  -1.407410   NA

2  -1.771819   NA

3  -1.771819   NA

4         NA  -0.05582021

5         NA   NA

6  -1.407410  -0.05582021

7         NA   NA

8         NA  -0.05582021

9  -1.407410   1.19697209

10 -1.407410   NA

11 -1.771819  -0.05582021

12        NA   NA

13 -1.771819   NA

14 -1.771819  -0.05582021

15        NA  -0.05582021

16 -1.407410   1.19697209

17 -1.771819  -0.05582021

18        NA   NA

19 -1.407410  -0.05582021

20 -1.407410   1.19697209

要查找 df2 的每一列中 NA 的百分比,请将以下代码添加到上述代码段中 -

y1<-sample(c(NA,rnorm(2)),20,replace=TRUE)

y2<-sample(c(NA,rnorm(2)),20,replace=TRUE)

df2<-data.frame(y1,y2)

(colMeans(is.na(df2)))*100

输出结果

如果您将上述所有代码作为单个程序执行,它会生成以下输出 -

y1 y2

35 45

示例 3

以下代码段创建了一个示例数据框 -

z1<-sample(c(NA,round(runif(2,1,5),2)),20,replace=TRUE)

z2<-sample(c(NA,round(runif(2,2,10),2)),20,replace=TRUE)

z3<-sample(c(NA,round(runif(2,5,10),2)),20,replace=TRUE)

df3<-data.frame(z1,z2,z3)

df3

输出结果

创建以下数据框 -

    z1    z2     z3

1  1.69  2.76    NA

2    NA  7.59    NA

3    NA  2.76  9.13

4  4.24    NA  9.13

5  1.69    NA  9.13

6    NA  2.76  8.85

7    NA  7.59    NA

8    NA    NA  9.13

9    NA  7.59    NA

10 1.69  2.76    NA

11 4.24  7.59  8.85

12 1.69    NA  8.85

13 4.24    NA    NA

14   NA    NA  8.85

15 4.24  7.59  9.13

16 4.24  7.59    NA

17 1.69  2.76  9.13

18   NA    NA  9.13

19 4.24  2.76  8.85

20 4.24    NA    NA

要查找 df3 的每一列中 NA 的百分比,请将以下代码添加到上述代码段中 -

z1<-sample(c(NA,round(runif(2,1,5),2)),20,replace=TRUE)

z2<-sample(c(NA,round(runif(2,2,10),2)),20,replace=TRUE)

z3<-sample(c(NA,round(runif(2,5,10),2)),20,replace=TRUE)

df3<-data.frame(z1,z2,z3)

(colMeans(is.na(df3)))*100

输出结果

如果您将上述所有代码作为单个程序执行,它会生成以下输出 -

z1 z2 z3

40 40 40

以上是 如何找到 R 数据框每一列中缺失值的百分比? 的全部内容, 来源链接: utcz.com/z/360280.html

回到顶部