如何在R中按行最小值划分矩阵行?
要将矩阵行值除以 R 中的行最小值,我们可以按照以下步骤操作 -
首先,创建一个矩阵。
然后,使用 apply 函数将矩阵行值除以行最小值。
创建矩阵
让我们创建一个矩阵,如下所示 -
例子
> M<-matrix(sample(1:20,75,replace=TRUE),ncol=3)> M
执行时,上面的脚本会生成以下输出(由于随机化,此输出会因您的系统而异) -
输出结果
[,1] [,2] [,3][1,] 16 1 18
[2,] 18 12 1
[3,] 12 19 19
[4,] 7 2 18
[5,] 10 14 16
[6,] 8 4 8
[7,] 15 14 4
[8,] 2 1 17
[9,] 11 12 8
[10,] 11 19 6
[11,] 8 2 7
[12,] 8 14 1
[13,] 5 19 18
[14,] 17 14 6
[15,] 13 12 18
[16,] 1 19 14
[17,] 9 19 17
[18,] 10 11 6
[19,] 3 2 2
[20,] 18 15 9
[21,] 11 18 11
[22,] 4 19 7
[23,] 3 9 19
[24,] 12 7 19
[25,] 5 5 2
将矩阵行值除以行最小值
使用应用函数将 M 的行值除以行最小值 -
例子
> M<-matrix(sample(1:20,75,replace=TRUE),ncol=3)输出结果> M_new<-t(apply(M,1, function(x) x/min(x)))
> M_new
[,1] [,2] [,3][1,] 16.000000 1.000000 18.000000
[2,] 18.000000 12.000000 1.000000
[3,] 1.000000 1.583333 1.583333
[4,] 3.500000 1.000000 9.000000
[5,] 1.000000 1.400000 1.600000
[6,] 2.000000 1.000000 2.000000
[7,] 3.750000 3.500000 1.000000
[8,] 2.000000 1.000000 17.000000
[9,] 1.375000 1.500000 1.000000
[10,] 1.833333 3.166667 1.000000
[11,] 4.000000 1.000000 3.500000
[12,] 8.000000 14.000000 1.000000
[13,] 1.000000 3.800000 3.600000
[14,] 2.833333 2.333333 1.000000
[15,] 1.083333 1.000000 1.500000
[16,] 1.000000 19.000000 14.000000
[17,] 1.000000 2.111111 1.888889
[18,] 1.666667 1.833333 1.000000
[19,] 1.500000 1.000000 1.000000
[20,] 2.000000 1.666667 1.000000
[21,] 1.000000 1.636364 1.000000
[22,] 1.000000 4.750000 1.750000
[23,] 1.000000 3.000000 6.333333
[24,] 1.714286 1.000000 2.714286
[25,] 2.500000 2.500000 1.000000
以上是 如何在R中按行最小值划分矩阵行? 的全部内容, 来源链接: utcz.com/z/331834.html