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