如何在 R 中按行最大值划分矩阵行?


要在 R 中按行最大值划分矩阵行值,我们可以按照以下步骤操作 -

  • 首先,创建一个矩阵。
  • 然后,使用 apply 函数按行最大值划分矩阵行值。

创建一个矩阵

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

 在线演示

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

执行后,以上脚本生成以下输出(此输出将在您的系统上因随机化而有所不同) -

     [,1] [,2] [,3]
[1,]  9    5     6
[2,]  10   2     5
[3,]  4    7     5
[4,]  10   1     4
[5,]  5    1     4
[6,]  8    3     1
[7,]  4    10    10
[8,]  4    4     9
[9,]  6    9     7
[10,] 2    7     7
[11,] 9    5     4
[12,] 10   10   2
[13,] 6    2    3
[14,] 10   6    8
[15,] 9    7    6
[16,] 7    5    8
[17,] 1    8    10
[18,] 3    5    1
[19,] 4 3 5
[20,] 4 3 10
[21,] 5 5 6
[22,] 6 7 10
[23,] 8 1 9
[24,] 3 9 10
[25,] 4 6 10

按行最大值划分矩阵行值

使用 apply 函数按行最大值划分 M 的行值 -

 在线演示

M<-matrix(sample(1:10,75,replace=TRUE),ncol=3)
M_new<-t(apply(M,1, function(x) x/max(x)))
M_new

输出

         [,1]      [,2]    [,3]
[1,] 1.0000000 0.5555556 0.6666667
[2,] 1.0000000 0.2000000 0.5000000
[3,] 0.5714286 1.0000000 0.7142857
[4,] 1.0000000 0.1000000 0.4000000
[5,] 1.0000000 0.2000000 0.8000000
[6,] 1.0000000 0.3750000 0.1250000
[7,] 0.4000000 1.0000000 1.0000000
[8,] 0.4444444 0.4444444 1.0000000
[9,] 0.6666667 1.0000000 0.7777778
[10,] 0.2857143 1.0000000 1.0000000
[11,] 1.0000000 0.5555556 0.4444444
[12,] 1.0000000 1.0000000 0.2000000
[13,] 1.0000000 0.3333333 0.5000000
[14,] 1.0000000 0.6000000 0.8000000
[15,] 1.0000000 0.7777778 0.6666667
[16,] 0.8750000 0.6250000 1.0000000
[17,] 0.1000000 0.8000000 1.0000000
[18,] 0.6000000 1.0000000 0.2000000
[19,] 0.8000000 0.6000000 1.0000000
[20,] 0.4000000 0.3000000 1.0000000
[21,] 0.8333333 0.8333333 1.0000000
[22,] 0.6000000 0.7000000 1.0000000
[23,] 0.8888889 0.1111111 1.0000000
[24,] 0.3000000 0.9000000 1.0000000
[25,] 0.4000000 0.6000000 1.0000000

更新于: 13 日-8 月 - 2021

85 人阅读

开启你的 职业生涯

完成课程认证

开始学习
广告