如何在两个或多个列值满足 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

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

输出

   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

以上是 如何在两个或多个列值满足 R 中的条件的 data.table 中查找行数? 的全部内容, 来源链接: utcz.com/z/349135.html

回到顶部