如何在R中找到data.table物件列中只出現一次的值的索引?


要查詢R中data.table物件列中只出現一次的值的索引,我們可以按照以下步驟操作:

  • 首先,建立一個data.table物件。

  • 然後,結合使用which函式、duplicated函式和單方括號進行子集選擇,查詢列中只出現一次的值的索引。

示例1

建立data.table物件

讓我們建立一個如下所示的data.table物件:

library(data.table)
x<-sample(1:10,25,replace=TRUE)
DT1<-data.table(x)
DT1

輸出

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出在您的系統上可能會有所不同):

     x
1:   3
2:   7
3:   7
4:   2
5:   4
6:   8
7:  10
8:   4
9:   5
10:  9
11:  1
12:  5
13:  8
14: 10
15:  1
16: 10
17:  2
18:  1
19: 10
20: 10
21:  8
22:  2
23:  1
24: 10
25:  4
     x

查詢列中只出現一次的值的索引

使用which函式、duplicated函式和單方括號進行子集選擇,查詢data.table物件DT1的x列中只出現一次的值的索引:

library(data.table)
x<-sample(1:10,25,replace=TRUE)
DT1<-data.table(x)
which(!(DT1$x %in% DT1$x[duplicated(DT1$x)]))

輸出

[1] 1 10

示例2

建立data.table物件

讓我們建立一個如下所示的data.table物件:

library(data.table)
y<-rpois(25,10)
DT2<-data.table(y)
DT2

輸出

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出在您的系統上可能會有所不同):

     y
1:   9
2:  14
3:   7
4:   5
5:  11
6:  13
7:   8
8:  11
9:   9
10: 10
11:  6
12: 11
13: 10
14: 10
15: 14
16: 13
17: 13
18: 15
19:  9
20: 17
21: 11
22: 17
23: 20
24:  7
25: 12
    y

查詢列中只出現一次的值的索引

使用which函式、duplicated函式和單方括號進行子集選擇,查詢data.table物件DT2的y列中只出現一次的值的索引:

library(data.table)
y<-rpois(25,10)
DT2<-data.table(y)
which(!(DT2$y %in% DT2$y[duplicated(DT2$y)]))

輸出

[1] 4 7 11 18 23 25

更新於:2021年11月10日

858 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告