【问题标题】:Can I sort a column of a matrix and transfer each number which is in the same row in R?我可以对矩阵的一列进行排序并传输 R 中同一行中的每个数字吗?
【发布时间】:2021-04-23 07:48:02
【问题描述】:

我有一个 2 列 100 行的矩阵。例如,假设在第一列中我有从 1 到 100 的随机数。在第二列中我有从 100 到 200 的随机数。如果我想将第一列从低到高排序,我可以同时转移吗对同一行中的所有数字计时?

例如在第 40 行,我有:ex[40,1]

对第一列进行排序,在第一行中我想要: ex[1,1]

【问题讨论】:

  • 欢迎堆栈溢出。一般来说,如果您提供示例数据,您将收到更多答案。例如,您可以使用函数dput(ex) 并在此处发布输出。这样,人们已经拥有您的数据,并且可以四处寻找可能适合您的解决方案。对于这篇文章,我认为很好,因为已经有了答案;)

标签: r


【解决方案1】:

dplyr 包有一个不错的 arrange 函数,您可以像这样使用:

ex <- data.frame(col1=c(2,1,3), col2=c("b","a","c")) #your data.frame

library(dplyr)
arrange(ex, col1) #sort decreasing
#OR
arrange(ex, -col1) #sort increasing

【讨论】:

  • 非常感谢!!
【解决方案2】:

您可以尝试order,如下所示

ex[order(ex[,1]),]

【讨论】:

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