如何查找 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
输出
执行以上脚本后,将生成如下输出(由于随机性,此输出在你的系统上会因人而异) −
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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP