按列的值对数据框中的每一行进行排序

时间:2014-02-23 17:19:20

标签: r dataframe

说我有这样的数据框:

Date      A   B   C    D   E   H
1/28/2013  56  51  35  44  08  18  
1/25/2013  38  56  28  39  23  32  
1/21/2013  36  51  45  25  40  08

我想要做的是按每个行的ABCDE列的值排序。所以我能得到的是:

Date       A   B   C    D   E   H    
1/28/2013  08  35  44  51  56  18  
1/25/2013  23  28  38  39  56  32  
1/21/2013  25  36  40  45  51  08

1 个答案:

答案 0 :(得分:2)

您可以使用apply

dat[c("A", "B", "C", "D", "E")] <- t(apply(dat[c("A", "B", "C", "D", "E")], 
                                           1, sort))

#        Date  A  B  C  D  E  H
# 1 1/28/2013  8 35 44 51 56 18
# 2 1/25/2013 23 28 38 39 56 32
# 3 1/21/2013 25 36 40 45 51  8

其中dat是数据框的名称。