如何在 R 中的 data.table 对象的每一列中找到零的百分比?
为了在 R 中的 data.table 对象的每一列中找到零的百分比,我们可以按照以下步骤操作:
首先,创建一个 data.table 对象。
然后,使用 colSums 函数以及 nrow 函数来查找每一列中零的百分比。
示例 1
创建 data.table 对象
让我们创建一个如下所示的 data.table 对象:
library(data.table) y1<-round(rnorm(25,1),0) y2<-round(rnorm(25,1),0) y3<-round(rnorm(25,1),0) y4<-round(rnorm(25,1),0) DT1<-data.table(y1,y2,y3,y4) DT1
输出
执行上述脚本后,将生成以下输出(此输出由于随机化而在您的系统上会有所不同):
y1 y2 y3 y4 1: 1 2 1 2 2: 2 -1 1 1 3: 2 0 1 2 4: 2 2 0 3 5: 3 1 0 2 6: 1 1 2 1 7: 1 4 2 2 8: 1 2 1 0 9: 1 -1 1 0 10: 1 1 2 -1 11: 1 1 0 0 12: 2 1 0 2 13: 0 0 1 1 14: 0 0 1 2 15: 0 2 0 1 16: 0 -1 1 1 17: 1 1 1 0 18: 2 2 1 0 19: 0 1 2 0 20: 1 0 0 1 21: 0 0 0 3 22: 1 3 3 2 23: 2 1 1 1 24: 1 2 1 1 25: 1 1 1 0 y1 y2 y3 y4
查找零的百分比
使用 colSums 函数以及 nrow 函数来查找 data.table 对象 DT1 的每一列中零的百分比:
library(data.table) y1<-round(rnorm(25,1),0) y2<-round(rnorm(25,1),0) y3<-round(rnorm(25,1),0) y4<-round(rnorm(25,1),0) DT1<-data.table(y1,y2,y3,y4) (colSums(DT1==0)/nrow(DT1))*100
输出
y1 y2 y3 y4 24 20 28 28
示例 2
创建 data.table 对象
让我们创建一个如下所示的 data.table 对象:
library(data.table) c1<-sample(0:5,25,replace=TRUE) c2<-sample(0:5,25,replace=TRUE) c3<-sample(0:5,25,replace=TRUE) c4<-sample(0:5,25,replace=TRUE) DT2<-data.table(c1,c2,c3,c4) DT2
输出
执行上述脚本后,将生成以下输出(此输出由于随机化而在您的系统上会有所不同):
c1 c2 c3 c4 1: 1 5 0 5 2: 3 2 2 5 3: 3 3 2 4 4: 3 5 2 1 5: 2 4 1 4 6: 0 2 1 3 7: 3 1 3 2 8: 1 3 3 4 9: 2 3 0 2 10: 1 3 5 4 11: 1 2 0 4 12: 3 3 5 1 13: 1 5 5 5 14: 1 1 4 4 15: 2 4 1 4 16: 3 5 4 3 17: 3 1 5 4 18: 5 4 5 2 19: 5 0 0 1 20: 4 5 2 2 21: 3 0 5 0 22: 0 5 5 3 23: 2 5 1 0 24: 4 5 5 1 25: 3 4 5 2 c1 c2 c3 c4
查找零的百分比
使用 colSums 函数以及 nrow 函数来查找 data.table 对象 DT2 的每一列中零的百分比:
library(data.table) c1<-sample(0:5,25,replace=TRUE) c2<-sample(0:5,25,replace=TRUE) c3<-sample(0:5,25,replace=TRUE) c4<-sample(0:5,25,replace=TRUE) DT2<-data.table(c1,c2,c3,c4) (colSums(DT2==0)/nrow(DT2))*100
输出
c1 c2 c3 c4 8 8 16 8
广告