我有一个矩阵m
,我想对第一列进行排序,然后根据排序的第一列更改第二列和第三列的顺序。 如何在 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
对于数据框很方便。