1
我有一個矩陣m
,我想對第一列進行排序,然後根據排序的第一列更改第二列和第三列的順序。我怎樣才能在R?排序矩陣中的一列,然後根據排序列中的其他列排序R
x = rnorm(50, 0, 1)
y = rbinom(50, 1, .5)
z = runif(50, -1, 1)
m = matrix(c(x, y, z), ncol=3)
我有一個矩陣m
,我想對第一列進行排序,然後根據排序的第一列更改第二列和第三列的順序。我怎樣才能在R?排序矩陣中的一列,然後根據排序列中的其他列排序R
x = rnorm(50, 0, 1)
y = rbinom(50, 1, .5)
z = runif(50, -1, 1)
m = matrix(c(x, y, z), ncol=3)
使用order()
來確定適當的排序。
set.seed(101)
m <- cbind(rnorm(50, 0, 1),
rbinom(50, 1, .5)
runif(50, -1, 1))
ord <- order(m[,1])
m2 <- m[ord,]
(如果你願意,你可以做到一步到位作爲m[order(m[,1]),]
。) plyr::arrange
是非常方便的數據幀。