對于以下玩具資料dd,我嘗試根據向量的順序對列進行分組langue和重新排列:charchar_order
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
我怎樣才能在管道 (%>%) 中使用dplyr或其他包實作這一目標?真誠的感謝。
uj5u.com熱心網友回復:
您可以設定因子水平
dd %>%
mutate(char = factor(char, levels = char_order)) %>%
group_by(langue) %>% arrange(char ,.by_group = TRUE)
langue char x y
<chr> <fct> <dbl> <dbl>
1 English hello 9 1
2 English world 8 1
3 French bonjour 9 2
4 French monde 3 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/387640.html
