如何在R矩阵中找到同名列的行均值?

要在 R 矩阵中找到同名列的行均值,我们可以按照以下步骤操作 -

  • 首先,创建一个矩阵,其中一些列具有相同的名称。

  • 然后,使用 tapply 以及 colnames 和 mean 函数来查找具有相同名称的列的行平均值。

示例

创建矩阵

让我们创建一个矩阵,如下所示 -

M<-matrix(rpois(100,5),ncol=4)

colnames(M)<-c("A","B","B","A")

M

输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

       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

以上是 如何在R矩阵中找到同名列的行均值? 的全部内容, 来源链接: utcz.com/z/344757.html

回到顶部