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