【发布时间】:2021-07-16 20:55:25
【问题描述】:
我有超过 10k+ 行的下表:
set.seed(123)
df <- data.frame(col1 = c('A','A','A','A', 'B','B','B','B', 'C','C','C','C'),
col2 = c('flower','pet','bird','tree','flower','pet','bird','tree','flower','pet','bird','tree'),
col3 = sample(0:25, 12, replace = TRUE))
col1 col2 col3
1 A flower 14
2 A pet 18
3 A bird 13
4 A tree 2
5 B flower 9
6 B pet 17
7 B bird 21
8 B tree 10
9 C flower 4
10 C pet 19
11 C bird 13
12 C tree 21
我想通过按col1 分组来排列每一行,然后从col2 中按pet、tree、bird、flower 的顺序排列,然后在@ 中仅保留单个出现的值987654328@.
示例所需的数据框:
col1 col2 col3
1 A pet 18
2 tree 2
3 bird 13
4 flower 14
5 B pet 17
6 tree 10
7 bird 21
8 flower 9
9 C pet 19
10 tree 21
11 bird 13
12 flower 4
如上所述,我找不到如何排列行。 如何做到这一点?
【问题讨论】:
-
您想用什么替换 col1 值?使用 Null 还是 NA?
标签: r dataframe dplyr tidyverse