如何在R的data.table对象中查找每一行的零的百分比?


为了找到R中data.table对象每一行中零的百分比,我们可以按照以下步骤操作:

  • 首先,创建一个data.table对象。

  • 然后,使用rowSums函数和ncol函数来查找data.table对象每一行中零的百分比。

示例

创建data.table对象

让我们创建一个如下所示的data.table对象:

library(data.table)
v1<-sample(0:2,25,replace=TRUE)
v2<-sample(0:2,25,replace=TRUE)
v3<-sample(0:2,25,replace=TRUE)
v4<-sample(0:2,25,replace=TRUE)
v5<-sample(0:2,25,replace=TRUE)
DT<-data.table(v1,v2,v3,v4,v5)
DT

输出

执行上述脚本后,将生成以下输出(由于随机化,此输出将因系统而异):

   v1 v2 v3 v4 v5
1:  2 1  1  1  1
2:  1 2  2  2  1
3:  1 2  1  0  1
4:  1 1  0  2  0
5:  0 1  0  0  2
6:  0 0  0  2  1
7:  0 0  1  0  0
8:  1 2  1  1  2
9:  1 2  2  1  0
10: 1 1  1  2  0
11: 1 2  0  0  0
12: 2 2  0  0  0
13: 2 2  2  2  2
14: 2 2  1  1  0
15: 2 1  0  2  2
16: 1 1  2  0  2
17: 0 0  2  1  1
18: 2 1  2  1  1
19: 2 1  2  2  1
20: 1 0  2  0  2
21: 0 0  2  2  2
22: 2 0  1  2  0
23: 0 2  2  1  0
24: 2 1  2  1  1
25: 2 2  2  0  2
   v1 v2 v3 v4 v5

查找每一行中零的百分比

使用rowSums函数和ncol函数来查找data.table对象DT每一行中零的百分比:

library(data.table)
v1<-sample(0:2,25,replace=TRUE)
v2<-sample(0:2,25,replace=TRUE)
v3<-sample(0:2,25,replace=TRUE)
v4<-sample(0:2,25,replace=TRUE)
v5<-sample(0:2,25,replace=TRUE)
DT<-data.table(v1,v2,v3,v4,v5)
DT$Percent_0s<-(rowSums(DT==0)/ncol(DT))*100
DT

输出

   v1 v2 v3 v4 v5 Percent_0s
1:  2  1 1  1  1  0
2:  1  2 2  2  1  0
3:  1  2 1  0  1 20
4:  1  1 0  2  0 40
5:  0  1 0  0  2 60
6:  0  0 0  2  1 60
7:  0  0 1  0  0 80
8:  1  2 1  1  2  0
9:  1  2 2  1  0 20
10: 1  1 1  2  0 20
11: 1  2 0  0  0 60
12: 2  2 0  0  0 60
13: 2  2 2  2  2  0
14: 2  2 1  1  0 20
15: 2  1 0  2  2 20
16: 1  1 2  0  2 20
17: 0  0 2  1  1 40
18: 2  1 2  1  1  0
19: 2  1 2  2  1  0
20: 1  0 2  0  2 40
21: 0  0 2  2  2 40
22: 2  0 1  2  0 40
23: 0  2 2  1  0 40
24: 2  1 2  1  1  0
25: 2  2 2  0  2 20
   v1 v2 v3 v4 v5 Percent_0s

更新于:2021年11月12日

62 次查看

启动您的职业生涯

完成课程获得认证

开始
广告