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

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

  • 首先,创建一个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
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

   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

猜你喜欢