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