【问题标题】:Sort second to fifth column for each row in R为R中的每一行排序第二到第五列
【发布时间】:2014-06-04 20:56:51
【问题描述】:

我在 R 中有一个数据框,我需要对第二到第五列的每一行进行独立排序。

例如,我有以下

1 2 3 1 4 5
2 1 3 2 6 7
3 7 2 1 3 2
...

我需要得到

1 1 2 3 4 5
2 1 2 3 6 7
3 1 2 2 3 7
...

如何快速漂亮地做到这一点?

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    这样的东西可能有用

    > cbind(df[,1], t(apply(df[,-1], 1, sort)))
         [,1] [,2] [,3] [,4] [,5] [,6]
    [1,]    1    1    2    3    4    5
    [2,]    2    1    2    3    6    7
    [3,]    3    1    2    2    3    7
    

    其中df 是一个data.frame:

    df <- read.table(text="1 2 3 1 4 5
    2 1 3 2 6 7
    3 7 2 1 3 2", header=FALSE)
    

    【讨论】:

    • 还有,不用cbind, df[-1] &lt;- t(apply(df[-1], 1, sort))
    猜你喜欢
    • 2016-07-19
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 2016-11-07
    • 1970-01-01
    • 2021-05-03
    相关资源
    最近更新 更多