如何在R矩陣中查詢具有相同名稱的列的行均值?
要查詢R矩陣中具有相同名稱的列的行均值,我們可以按照以下步驟操作:
首先,建立一個包含一些具有相同名稱的列的矩陣。
然後,使用tapply結合colnames和mean函式來查詢具有相同名稱的列的行均值。
示例
建立矩陣
讓我們建立一個如下所示的矩陣:
M<-matrix(rpois(100,5),ncol=4) colnames(M)<-c("A","B","B","A") M
輸出
執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出將因您的系統而異):
A B B A [1,] 4 10 2 5 [2,] 5 1 5 7 [3,] 6 4 5 2 [4,] 7 4 3 6 [5,] 2 7 6 7 [6,] 3 6 4 7 [7,] 7 7 3 2 [8,] 8 2 4 2 [9,] 7 5 7 7 [10,] 3 7 5 3 [11,] 3 10 3 1 [12,] 6 8 6 2 [13,] 6 5 2 7 [14,] 5 3 3 4 [15,] 4 4 1 11 [16,] 10 7 9 6 [17,] 2 6 4 6 [18,] 8 6 11 10 [19,] 3 4 3 5 [20,] 6 4 2 2 [21,] 7 3 4 5 [22,] 4 4 4 9 [23,] 2 4 3 6 [24,] 0 3 3 5 [25,] 2 4 3 2
查詢具有相同名稱的列的行均值
使用tapply結合colnames和mean函式來查詢矩陣M中具有相同名稱的列的行均值:
M<-matrix(rpois(100,5),ncol=4) colnames(M)<-c("A","B","B","A") t(apply(M,1, function(x) tapply(x,colnames(M),mean)))
輸出
A B [1,] 4.5 6.0 [2,] 6.0 3.0 [3,] 4.0 4.5 [4,] 6.5 3.5 [5,] 4.5 6.5 [6,] 5.0 5.0 [7,] 4.5 5.0 [8,] 5.0 3.0 [9,] 7.0 6.0 [10,] 3.0 6.0 [11,] 2.0 6.5 [12,] 4.0 7.0 [13,] 6.5 3.5 [14,] 4.5 3.0 [15,] 7.5 2.5 [16,] 8.0 8.0 [17,] 4.0 5.0 [18,] 9.0 8.5 [19,] 4.0 3.5 [20,] 4.0 3.0 [21,] 6.0 3.5 [22,] 6.5 4.0 [23,] 4.0 3.5 [24,] 2.5 3.0 [25,] 2.0 3.5
廣告