如何在 R 中根據特定列的值對矩陣進行子集選擇?
要根據特定列中的值對矩陣進行子集選擇,我們可以使用單個方括號並提供行和列的值。列值將設定為我們想要進行子集選擇的列,行值將設定為用於對矩陣進行子集選擇的列的值。
檢視下面的示例以瞭解其工作原理。
示例
以下程式碼片段建立了一個矩陣 -
M<-matrix(rpois(80,5),ncol=4) M
建立了以下矩陣 -
[,1] [,2][,3][,4] [1,] 8 4 6 3 [2,] 5 6 1 8 [3,] 5 4 7 5 [4,] 3 9 1 6 [5,] 6 4 3 5 [6,] 3 4 3 5 [7,] 7 6 5 6 [8,] 7 5 7 1 [9,] 9 6 9 6 [10,] 5 4 5 5 [11,] 5 8 4 4 [12,] 3 2 7 4 [13,] 4 3 1 6 [14,] 1 4 4 5 [15,] 4 7 5 4 [16,] 5 2 6 4 [17,] 5 6 3 5 [18,] 8 8 3 6 [19,] 8 5 4 6 [20,] 2 5 6 3
要根據特定列中的值對矩陣進行子集選擇,請將以下程式碼新增到上述程式碼片段中 -
M[,4]<-rep(c(1,2,3,4),times=5) M
如果執行上述程式碼片段,則會生成以下輸出 -
[,1][,2][,3][,4] [1,] 8 4 6 1 [2,] 5 6 1 2 [3,] 5 4 7 3 [4,] 3 9 1 4 [5,] 6 4 3 1 [6,] 3 4 3 2 [7,] 7 6 5 3 [8,] 7 5 7 4 [9,] 9 6 9 1 [10,] 5 4 5 2 [11,] 5 8 4 3 [12,] 3 2 7 4 [13,] 4 3 1 1 [14,] 1 4 4 2 [15,] 4 7 5 3 [16,] 5 2 6 4 [17,] 5 6 3 1 [18,] 8 8 3 2 [19,] 8 5 4 3 [20,] 2 5 6 4
要根據特定列中的值對矩陣進行子集選擇,請將以下程式碼新增到上述程式碼片段中 -
M[M[,4]==1,c(1:3)]
如果執行上述程式碼片段,則會生成以下輸出 -
[,1][,2][,3] [1,] 8 4 6 [2,] 6 4 3 [3,] 9 6 9 [4,] 4 3 1 [5,] 5 6 3
要根據特定列中的值對矩陣進行子集選擇,請將以下程式碼新增到上述程式碼片段中 -
M[M[,4]==2,c(1:3)]
如果執行上述程式碼片段,則會生成以下輸出 -
[,1][,2][,3] [1,] 5 6 1 [2,] 3 4 3 [3,] 5 4 5 [4,] 1 4 4 [5,] 8 8 3
要根據特定列中的值對矩陣進行子集選擇,請將以下程式碼新增到上述程式碼片段中 -
M[M[,4]==3,c(1:3)]
如果執行上述程式碼片段,則會生成以下輸出 -
[,1][,2][,3] [1,] 5 4 7 [2,] 7 6 5 [3,] 5 8 4 [4,] 4 7 5 [5,] 8 5 4
要根據特定列中的值對矩陣進行子集選擇,請將以下程式碼新增到上述程式碼片段中 -
M[M[,4]==4,c(1:3)]
如果執行上述程式碼片段,則會生成以下輸出 -
[,1][,2][,3] [1,] 3 9 1 [2,] 7 5 7 [3,] 3 2 7 [4,] 5 2 6 [5,] 2 5 6
廣告