如何在R语言中查找data.table中满足两个或多个列值符合特定条件的行数?


要查找data.table中满足两个或多个列值符合特定条件的行数,我们可以按照以下步骤操作:

  • 首先,创建一个data.table对象。
  • 查找满足条件的行数。

创建data.table对象

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

x<-rpois(20,1)
y<-rpois(20,1)
z<-rpois(20,1)
library(data.table)
DT<-data.table(x,y,z)
DT

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

输出

   x y z
1: 0 1 2
2: 0 0 1
3: 0 2 1
4: 1 3 1
5: 2 1 0
6: 0 1 1
7: 2 1 1
8: 0 0 0
9: 0 1 1
10: 0 1 1
11: 0 2 1
12: 0 0 3
13: 3 1 1
14: 2 0 1
15: 2 1 0
16: 0 1 1
17: 1 0 0
18: 2 0 1
19: 1 0 0
20: 0 1 0

查找满足条件的行数

使用Count:=.N查找DT中x=0,y=1,z=1的行数:

x<-rpois(20,1)
y<-rpois(20,1)
z<-rpois(20,1)
library(data.table)
DT<-data.table(x,y,z)
DT[x==0 & y == 1 & z ==1,Count:=.N]
DT

输出

   x y z Count
1: 0 1 2 NA
2: 0 0 1 NA
3: 0 2 1 NA
4: 1 3 1 NA
5: 2 1 0 NA
6: 0 1 1 4
7: 2 1 1 NA
8: 0 0 0 NA
9: 0 1 1 4
10: 0 1 1 4
11: 0 2 1 NA
12: 0 0 3 NA
13: 3 1 1 NA
14: 2 0 1 NA
15: 2 1 0 NA
16: 0 1 1 4
17: 1 0 0 NA
18: 2 0 1 NA
19: 1 0 0 NA
20: 0 1 0 NA

更新于:2021年8月13日

297 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告