如何在R矩阵中按行平均值划分行值?

要将矩阵行值除以 R 中的行均值,我们可以按照以下步骤操作 -

  • 首先,创建一个矩阵。

  • 然后,使用 apply 函数将矩阵行值除以行平均值。

创建矩阵

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

例子

M<-matrix(sample(1:10,75,replace=TRUE),ncol=3)

M

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

输出

  [,1] [,2] [,3]

[1,] 9 1 5

[2,] 1 7 5

[3,] 6 7 5

[4,] 6 2 6

[5,] 9 8 7

[6,] 5 7 1

[7,] 9 5 1

[8,] 4 9 4

[9,] 10 2 6

[10,] 3 2 6

[11,] 2 5 1

[12,] 10 2 7

[13,] 4 8 1

[14,] 9 2 4

[15,] 2 1 7

[16,] 3 9 6

[17,] 7 10 7

[18,] 6 4 3

[19,] 2 10 6

[20,] 10 4 10

[21,] 8 5 8

[22,] 9 4 10

[23,] 10 7 1

[24,] 1 2 6

[25,] 2 10 8

将矩阵行值除以行平均值

使用 apply 函数将 M 的行值除以行平均值 -

例子

M<-matrix(sample(1:10,75,replace=TRUE),ncol=3)

M_new<-t(apply(M,1, function(x) x/mean(x)))

M_new

输出

        [,1]       [,2]     [,3]

[1,] 1.8000000 0.2000000 1.0000000

[2,] 0.2307692 1.6153846 1.1538462

[3,] 1.0000000 1.1666667 0.8333333

[4,] 1.2857143 0.4285714 1.2857143

[5,] 1.1250000 1.0000000 0.8750000

[6,] 1.1538462 1.6153846 0.2307692

[7,] 1.8000000 1.0000000 0.2000000

[8,] 0.7058824 1.5882353 0.7058824

[9,] 1.6666667 0.3333333 1.0000000

[10,] 0.8181818 0.5454545 1.6363636

[11,] 0.7500000 1.8750000 0.3750000

[12,] 1.5789474 0.3157895 1.1052632

[13,] 0.9230769 1.8461538 0.2307692

[14,] 1.8000000 0.4000000 0.8000000

[15,] 0.6000000 0.3000000 2.1000000

[16,] 0.5000000 1.5000000 1.0000000

[17,] 0.8750000 1.2500000 0.8750000

[18,] 1.3846154 0.9230769 0.6923077

[19,] 0.3333333 1.6666667 1.0000000

[20,] 1.2500000 0.5000000 1.2500000

[21,] 1.1428571 0.7142857 1.1428571

[22,] 1.1739130 0.5217391 1.3043478

[23,] 1.6666667 1.1666667 0.1666667

[24,] 0.3333333 0.6666667 2.0000000

[25,] 0.3000000 1.5000000 1.2000000

以上是 如何在R矩阵中按行平均值划分行值? 的全部内容, 来源链接: utcz.com/z/322848.html

回到顶部