如何在 R 中按升序独立排序矩阵列?
按升序独立排序矩阵列意味着按升序对数据框的每一列排序,因此,一列中的值排序不会影响其他列的排序。这可以通过使用 apply 函数和 sort 函数来完成,如下面的示例所示。
示例
M1<-matrix(rpois(80,5),ncol=4) M1
输出
[,1] [,2] [,3] [,4] [1,] 4 7 9 4 [2,] 5 6 6 2 [3,] 4 7 3 4 [4,] 4 3 2 2 [5,] 6 3 9 3 [6,] 7 5 5 5 [7,] 4 5 5 4 [8,] 2 4 0 6 [9,] 11 5 5 7 [10,] 2 3 5 6 [11,] 3 1 9 7 [12,] 5 10 6 7 [13,] 5 5 7 5 [14,] 6 3 1 3 [15,] 5 4 8 7 [16,] 4 10 4 3 [17,] 6 4 3 1 [18,] 2 6 5 2 [19,] 6 10 12 3 [20,] 9 2 3 4
apply(M1,2,sort)
[,1] [,2] [,3] [,4] [1,] 2 1 0 1 [2,] 2 2 1 2 [3,] 2 3 2 2 [4,] 3 3 3 2 [5,] 4 3 3 3 [6,] 4 3 3 3 [7,] 4 4 4 3 [8,] 4 4 5 3 [9,] 4 4 5 4 [10,] 5 5 5 4 [11,] 5 5 5 4 [12,] 5 5 5 4 [13,] 5 5 6 5 [14,] 6 6 6 5 [15,] 6 6 7 6 [16,] 6 7 8 6 [17,] 6 7 9 7 [18,] 7 10 9 7 [19,] 9 10 9 7 [20,] 11 10 12 7
示例
M2<-matrix(rnorm(45),ncol=3) M2
输出
[,1] [,2] [,3] [1,] 0.7035341 0.1684070 0.6266624 [2,] 0.9411680 0.3888510 -0.6253838 [3,] -1.5572345 0.2111508 1.6147692 [4,] 0.9861180 0.3051785 0.4764457 [5,] 0.4121853 -0.2924738 -0.6538284 [6,] -0.2941798 1.4971932 -1.0346647 [7,] -0.8095073 0.2299736 0.9276157 [8,] 0.6784916 -0.3066246 -2.1540382 [9,] 0.3752442 -0.8025764 -0.8814537 [10,] 0.5712123 1.4410942 -0.8682303 [11,] 0.8312513 -1.0763055 1.8776386 [12,] -0.8845890 -0.3053165 1.1853445 [13,] -1.2043000 0.3795757 0.1601545 [14,] -0.8973574 -2.6955627 1.4023479 [15,] -0.7261224 2.0387155 1.0077507
apply(M2,2,sort)
[,1] [,2] [,3] [1,] -1.5572345 -2.6955627 -2.1540382 [2,] -1.2043000 -1.0763055 -1.0346647 [3,] -0.8973574 -0.8025764 -0.8814537 [4,] -0.8845890 -0.3066246 -0.8682303 [5,] -0.8095073 -0.3053165 -0.6538284 [6,] -0.7261224 -0.2924738 -0.6253838 [7,] -0.2941798 0.1684070 0.1601545 [8,] 0.3752442 0.2111508 0.4764457 [9,] 0.4121853 0.2299736 0.6266624 [10,] 0.5712123 0.3051785 0.9276157 [11,] 0.6784916 0.3795757 1.0077507 [12,] 0.7035341 0.3888510 1.1853445 [13,] 0.8312513 1.4410942 1.4023479 [14,] 0.9411680 1.4971932 1.6147692 [15,] 0.9861180 2.0387155 1.8776386
示例
M3<-matrix(runif(40,2,10),ncol=2) M3
输出
[,1] [,2] [1,] 8.265500 3.812385 [2,] 8.213926 9.066299 [3,] 9.004847 5.589592 [4,] 6.364649 6.756629 [5,] 4.953512 3.778917 [6,] 8.354575 6.133739 [7,] 6.494883 7.320632 [8,] 2.769262 5.570083 [9,] 4.301743 6.874214 [10,] 5.467977 5.934101 [11,] 7.847425 9.373401 [12,] 7.860578 9.059702 [13,] 6.378894 3.864647 [14,] 7.988057 7.527622 [15,] 3.395857 2.156028 [16,] 3.060717 9.413530 [17,] 9.574119 2.519779 [18,] 9.705956 2.428624 [19,] 3.753683 6.364985 [20,] 9.969481 8.733604
apply(M3,2,sort)
[,1] [,2] [1,] 2.769262 2.156028 [2,] 3.060717 2.428624 [3,] 3.395857 2.519779 [4,] 3.753683 3.778917 [5,] 4.301743 3.812385 [6,] 4.953512 3.864647 [7,] 5.467977 5.570083 [8,] 6.364649 5.589592 [9,] 6.378894 5.934101 [10,] 6.494883 6.133739 [11,] 7.847425 6.364985 [12,] 7.860578 6.756629 [13,] 7.988057 6.874214 [14,] 8.213926 7.320632 [15,] 8.265500 7.527622 [16,] 8.354575 8.733604 [17,] 9.004847 9.059702 [18,] 9.574119 9.066299 [19,] 9.705956 9.373401 [20,] 9.969481 9.413530
广告