假设我有以下数据框;
NUM status name
1 + A
2 + A
3 + B
4 - A
5 - A
6 + C
7 - C
8 + A
9 - B
10 - A
我怎样才能像这样订购它们;
NUM status name
1 + A
4 - A
2 + A
5 - A
8 + A
10 - A
3 + B
9 - B
6 + C
7 - C
我想先按名字订购它们。然后按状态。但我需要以这种模式订购状态; +,-,+,- 提前致谢。
最佳答案
我们可以使用row_number
和dplyr
group_by
创建一个帮助键来实现特定的顺序
df %>%
group_by(name,status) %>%
mutate(Helpkey=row_number()) %>%
arrange(name,Helpkey) %>%
select(-Helpkey)
# A tibble: 10 x 3
# Groups: name, status [6]
NUM status name
<int> <chr> <chr>
1 1 + A
2 4 - A
3 2 + A
4 5 - A
5 8 + A
6 10 - A
7 3 + B
8 9 - B
9 6 + C
10 7 - C
关于r - 在 R 中按特定顺序对数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50606399/