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