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