【发布时间】:2019-04-27 14:06:58
【问题描述】:
我想根据列中的值(字符)对 R 中的数据框进行半反向排序。
我有以下示例数据集:
# Sample data
df <- read.table(text="id value
cx-01 1
cx-01 2
cx-02 1
cx-02 2
cx-02 3
cx-03 1
cx-03 2
px-01 1
px-01 2
px-02 1
px-02 2
px-02 3
px-03 1
px-03 2
rx-01 1
rx-01 2
rx-02 1
rx-02 2
rx-02 3
rx-03 1
rx-03 2", header=TRUE)
预期输出:
id value
1 cx-03 2
2 cx-03 1
3 cx-02 3
4 cx-02 2
5 cx-02 1
6 cx-01 2
7 cx-01 1
8 rx-03 2
9 rx-03 1
10 rx-02 3
11 rx-02 2
12 rx-02 1
13 rx-01 2
14 rx-01 1
15 px-03 2
16 px-03 1
17 px-02 3
18 px-02 2
19 px-02 1
20 px-01 2
21 px-01 1
我尝试使用 base R 的 order() 函数,但遗憾的是没有成功。此外,我尝试使用 plyr 包的排列功能,但是,我没有设法按需要对数据进行排序。
是否可以根据自己提供的顺序(而不是按字母顺序)对第一列中的标签进行排序?
【问题讨论】: