1

我有一个矩阵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)
4

1 回答 1

0

用于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对于数据帧很方便。

于 2013-10-31T02:47:47.360 回答