【发布时间】:2022-01-21 19:25:48
【问题描述】:
对于以下玩具数据dd,我尝试将langue列分组并根据向量char_order的顺序重新排列char列:
dd <- data.frame(langue = c('English', 'French', 'English', 'French'),
char = c('world', 'monde', 'hello', 'bonjour'),
x = c(8, 3, 9, 9),
y = c(1, 1, 1, 2))
dd
char_order <- c('hello', 'world', 'bonjour', 'monde')
dd %>%
group_by(langue) %>% arrange(.by_group = TRUE)
输出:
langue char x y
<chr> <chr> <dbl> <dbl>
1 English world 8 1
2 English hello 9 1
3 French monde 3 1
4 French bonjour 9 2
但我希望得到如下结果:
langue char x y
<chr> <chr> <dbl> <dbl>
1 English hello 9 1
2 English world 8 1
3 French bonjour 9 2
4 French monde 3 1
我怎样才能在 pipe (%>%) 中使用 dplyr 或其他软件包实现这一点?真诚的感谢。
【问题讨论】:
-
dd %>%arrange(langue, factor(char, char_order)) -
我测试过,你的代码可以达到与@Park 相同的结果,谢谢。
标签: r dataframe dplyr tidyverse