如何在 R 数据框行中找到 NA 的百分比?

要找到 R 数据帧每一行中 NA 的百分比,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。

  • 然后,使用 rowSums 函数和 ncol 函数以及 apply 函数查找数据帧每一行中 NA 的百分比

示例

创建数据框

让我们创建一个数据框,如下所示 -

v1<-sample(c(NA,rpois(3,2)),25,replace=TRUE)

v2<-sample(c(NA,rpois(3,2)),25,replace=TRUE)

v3<-sample(c(NA,rpois(3,2)),25,replace=TRUE)

v4<-sample(c(NA,rpois(3,2)),25,replace=TRUE)

df<-data.frame(v1,v2,v3,v4)

df

输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

    v1 v2 v3 v4

1    1 2  2  4

2    2 2  2  3

3    2 2 NA  3

4    2 1  4 NA

5    2 2 NA  1

6  NA NA  4 NA

7   2  2  4 NA

8   2  1  4  3

9   2  2  0  4

10  2  2  0 NA

11 NA  2  2 NA

12  2  2  0  4

13  1  2  4  1

14  1 NA  4  3

15  2 NA  4 NA

16  2 NA  4  3

17  2 NA NA  3

18  1  1 NA  4

19 NA  1 NA NA

20 NA  2  0  4

21  1  2  4  1

22  2  2  2  1

23  2  1  4  4

24  1  2  4 NA

25 NA NA NA  3

找出每一行中 NA 的百分比

使用 rowSums 函数和 ncol 函数以及 apply 函数来查找数据框 df 每一行中 NA 的百分比 -

v1<-sample(c(NA,rpois(3,2)),25,replace=TRUE)

v2<-sample(c(NA,rpois(3,2)),25,replace=TRUE)

v3<-sample(c(NA,rpois(3,2)),25,replace=TRUE)

v4<-sample(c(NA,rpois(3,2)),25,replace=TRUE)

df<-data.frame(v1,v2,v3,v4)

df$NA_Percent<-rowSums(apply(is.na(df),2,as.numeric))/ncol(df)

df

输出结果
   v1 v2 v3 v4 NA_Percent

1   1  2  2  4 0.00

2   2  2  2  3 0.00

3   2  2 NA  3 0.25

4   2  1  4 NA 0.25

5   2  2 NA  1 0.25

6  NA NA  4 NA 0.75

7   2  2  4 NA 0.25

8   2  1  4  3 0.00

9   2  2  0  4 0.00

10  2  2  0 NA 0.25

11 NA  2  2 NA 0.50

12  2  2  0  4 0.00

13  1  2  4  1 0.00

14  1 NA  4  3 0.25

15  2 NA  4 NA 0.50

16  2 NA  4  3 0.25

17  2 NA NA  3 0.50

18  1  1 NA  4 0.25

19 NA  1 NA NA 0.75

20 NA  2  0  4 0.25

21  1  2  4  1 0.00

22  2  2  2  1 0.00

23  2  1  4  4 0.00

24  1  2  4 NA 0.25

25 NA NA NA  3 0.75

以上是 如何在 R 数据框行中找到 NA 的百分比? 的全部内容, 来源链接: utcz.com/z/351914.html

回到顶部