要找到 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