如何在 R 資料框列中查詢僅出現一次的值的索引?


要查詢 R 資料框列中僅出現一次的值的索引,我們可以按照以下步驟操作:

  • 首先,建立一個數據框。

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

示例

建立資料框

讓我們建立一個如下所示的資料框:

x<-sample(1:10,25,replace=TRUE)
df1<-data.frame(x)
df1

輸出

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出可能因您的系統而異):

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

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

使用 which 函式、duplicated 函式和單方括號進行子集選擇,以查詢資料框 df1 的 x 列中僅出現一次的值的索引:

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

輸出

[1] 9 18

示例 2

建立資料框

讓我們建立一個如下所示的資料框:

y<-round(rnorm(25),1)
df2<-data.frame(y)
df2

輸出

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出可能因您的系統而異):

     y
1   2.1
2  -1.0
3  -1.6
4   1.5
5   0.5
6   1.4
7   0.2
8   0.6
9   0.2
10  0.6
11  0.4
12  0.2
13  0.4
14  1.6
15  1.4
16 -1.6
17 -1.1
18  0.4
19  1.0
20  0.3
21  0.4
22 -0.7
23 -0.9
24 -1.6
25 -0.4

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

使用 which 函式、duplicated 函式和單方括號進行子集選擇,以查詢資料框 df2 的 y 列中僅出現一次的值的索引:

y<-round(rnorm(25),1)
df2<-data.frame(y)
which(!(df2$y %in% df2$y[duplicated(df2$y)]))

輸出

[1] 1 2 4 5 14 17 19 20 22 23 25

更新於:2021年11月15日

101 次檢視

啟動您的職業生涯

完成課程獲得認證

開始
廣告