如何在 R 中查詢矩陣列中僅出現一次的值的索引?


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

  • 首先,建立一個矩陣。

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

示例 1

建立資料框

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

M1<-matrix(rpois(25,10),ncol=1)
M1

輸出

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

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

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

使用 which 函式以及 duplicated 函式和單個方括號進行子集化,以查詢矩陣 M1 的列中僅出現一次的值的索引:

M1<-matrix(rpois(25,10),ncol=1)
which(!(M1[] %in% M1[][duplicated(M1[])]))

輸出

[1] 9 20 21

示例 2

建立資料框

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

M2<-matrix(round(rnorm(25),1),ncol=1)
M2

輸出

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

     [,1]
[1,]   1.7
[2,]  -1.0
[3,]  -1.1
[4,]   0.8
[5,]   0.7
[6,]   0.7
[7,]   1.9
[8,]  -1.6
[9,]   2.7
[10,]  0.9
[11,] -0.6
[12,]  1.0
[13,] -2.1
[14,] -1.1
[15,]  1.4
[16,]  0.2
[17,] -0.7
[18,]  1.4
[19,]  0.6
[20,] -0.6
[21,]  0.0
[22,] -0.1
[23,]  0.6
[24,]  0.5
[25,] -0.9

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

使用 which 函式以及 duplicated 函式和單個方括號進行子集化,以查詢矩陣 M2 的列中僅出現一次的值的索引:

M2<-matrix(round(rnorm(25),1),ncol=1)
which(!(M2[] %in% M2[][duplicated(M2[])]))

輸出

[1] 2 3 6 7 10 12 14 16 17 18 19 21 23

更新於: 2021年11月8日

273 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告