如何在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 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.