要查找data.tableR 中对象的每一行中 NA 的百分比,我们可以按照以下步骤操作 -
首先,创建一个data.table对象。
然后,使用 rowSums 函数和 ncol 函数以及 apply 函数来查找data.table对象每一行中 NA 的百分比。
让我们创建一个data.table对象,如下所示 -
library(data.table) x1<-sample(c(NA,1,2,5,7,3),25,replace=TRUE) x2<-sample(c(NA,1,2,5,7,3),25,replace=TRUE) x3<-sample(c(NA,1,2,5,7,3),25,replace=TRUE) x4<-sample(c(NA,1,2,5,7,3),25,replace=TRUE) DT<-data.table(x1,x2,x3,x4) DT输出结果
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
x1 x2 x3 x4 1: 3 1 5 5 2: 2 5 NA 1 3: NA 5 2 7 4: 2 2 3 3 5: 5 1 3 1 6: 1 NA NA NA 7: 7 1 5 5 8: 3 3 5 1 9: 5 3 7 3 10: NA 7 3 1 11: 1 3 7 3 12: NA 3 NA 2 13: NA 7 NA 2 14: 3 7 2 NA 15: 2 7 1 7 16: 5 3 7 3 17: 1 3 5 5 18: 1 3 1 1 19: 2 7 NA 1 20: 1 7 1 7 21: 1 1 3 5 22: 7 7 NA 2 23: NA 3 1 2 24: 3 NA 7 7 25: NA 7 NA 1 x1 x2 x3 x4
找出每一行中 NA 的百分比
使用 rowSums 函数和 ncol 函数以及 apply 函数来查找data.table对象 DT每一行中 NA 的百分比-
library(data.table) x1<-sample(c(NA,1,2,5,7,3),25,replace=TRUE) x2<-sample(c(NA,1,2,5,7,3),25,replace=TRUE) x3<-sample(c(NA,1,2,5,7,3),25,replace=TRUE) x4<-sample(c(NA,1,2,5,7,3),25,replace=TRUE) DT<-data.table(x1,x2,x3,x4) DT$NA_Percent<-rowSums(apply(is.na(DT),2,as.numeric))/ncol(DT) DT输出结果
x1 x2 x3 x4 NA_Percent 1: 3 1 5 5 0.00 2: 2 5 NA 1 0.25 3: NA 5 2 7 0.25 4: 2 2 3 3 0.00 5: 5 1 3 1 0.00 6: 1 NA NA NA 0.75 7: 7 1 5 5 0.00 8: 3 3 5 1 0.00 9: 5 3 7 3 0.00 10: NA 7 3 1 0.25 11: 1 3 7 3 0.00 12: NA 3 NA 2 0.50 13: NA 7 NA 2 0.50 14: 3 7 2 NA 0.25 15: 2 7 1 7 0.00 16: 5 3 7 3 0.00 17: 1 3 5 5 0.00 18: 1 3 1 1 0.00 19: 2 7 NA 1 0.25 20: 1 7 1 7 0.00 21: 1 1 3 5 0.00 22: 7 7 NA 2 0.25 23: NA 3 1 2 0.25 24: 3 NA 7 7 0.25 25: NA 7 NA 1 0.50 x1 x2 x3 x4 NA_Percent