如何在 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

更新于: 2021年11月11日

202 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告