如何在 R 矩陣中查詢具有相同名稱的列的行中位數?
要查詢 R 矩陣中具有相同名稱的列的行中位數,我們可以按照以下步驟操作:
首先,建立一個一些列具有相同名稱的矩陣。
然後,使用 tapply 結合 colnames 和 median 函式來查詢具有相同名稱的列的行中位數。
示例
建立矩陣
讓我們建立一個如下所示的矩陣:
M<-matrix(rpois(150,10),ncol=6) colnames(M)<-c("C1","C1","C2","C2","C1","C2") M
輸出
執行上述指令碼後,將生成以下輸出(此輸出由於隨機化而在您的系統上會有所不同):
C1 C1 C2 C2 C1 C2 [1,] 7 2 7 13 4 10 [2,] 20 8 10 8 15 12 [3,] 8 11 6 19 9 11 [4,] 10 10 9 8 8 8 [5,] 7 17 10 9 9 10 [6,] 9 10 8 6 11 13 [7,] 8 7 10 11 7 13 [8,] 8 11 10 16 4 9 [9,] 12 8 13 7 8 9 [10,] 6 7 7 14 15 11 [11,] 9 6 17 12 12 13 [12,] 11 8 8 10 13 8 [13,] 9 9 9 8 6 10 [14,] 7 11 11 8 11 11 [15,] 13 13 9 10 10 12 [16,] 5 10 4 13 15 6 [17,] 8 10 6 8 12 3 [18,] 8 9 10 8 7 7 [19,] 14 14 14 8 3 11 [20,] 7 13 10 8 8 9 [21,] 7 10 8 5 15 9 [22,] 8 8 5 8 11 13 [23,] 9 13 4 9 6 19 [24,] 12 11 5 7 7 7 [25,] 14 12 8 10 12 4
查詢具有相同名稱的列的行中位數
使用 tapply 結合 colnames 和 median 函式來查詢矩陣 M 中具有相同名稱的列的行中位數:
M<-matrix(rpois(150,10),ncol=6) colnames(M)<-c("C1","C1","C2","C2","C1","C2") t(apply(M,1, function(x) tapply(x,colnames(M),median)))
輸出
C1 C2 [1,] 4 10 [2,] 15 10 [3,] 9 11 [4,] 10 8 [5,] 9 10 [6,] 10 8 [7,] 7 11 [8,] 8 10 [9,] 8 9 [10,] 7 11 [11,] 9 13 [12,] 11 8 [13,] 9 9 [14,] 11 11 [15,] 13 10 [16,] 10 6 [17,] 10 6 [18,] 8 8 [19,] 14 11 [20,] 8 9 [21,] 10 8 [22,] 8 8 [23,] 9 9 [24,] 11 7 [25,] 12 8
廣告