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