在这个 super 简单的代码中,我希望 dplyr 首先按我的分组变量(金发)然后按年龄排列,但它似乎根本不考虑分组变量。我很确定这在过去对我来说是不同的。我想要(并期望)的是它会先按金发女郎排列(因为这是分组变量),然后是年龄。我正在使用 dplyr_0.5.0。当我在分组变量上使用 mutate 进行测试时,它会按预期计算分组平均值。
我知道我可以按金发女郎和年龄进行排列,但我认为以前版本的 dplyr 会在使用排列时考虑分组变量,我记错了吗?
# In this code I expect it to order by the grouping
# variable first (blonde) then age.
df <- data.frame(blonde = c(0,1,0,1),
age=24:21)
group_by(df, blonde) %>% arrange(age)
Source: local data frame [4 x 2]
Groups: blonde [2]
blonde age
<dbl> <int>
1 1 21
2 0 22
3 1 23
4 0 24
最佳答案
您可以强制它使用该组:
df <- data.frame(blonde = c(0,1,0,1),
age=24:21)
group_by(df, blonde) %>% arrange(age, .by_group = TRUE)
# A tibble: 4 x 2
# Groups: blonde [2]
blonde age
<dbl> <int>
1 0 22
2 0 24
3 1 21
4 1 23
关于r - dplyr 不按组排列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38749417/