【问题标题】:sort one column in matrix and then order other column according to sorted column in R [duplicate]对矩阵中的一列进行排序,然后根据R中的排序列对另一列进行排序[重复]
【发布时间】:2013-11-01 08:53:54
【问题描述】:

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

【问题讨论】:

    标签: r


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多