我有很多用dplyr 0.4.3编写的代码,它依赖于分组的arrange()函数.截至0.5版本,安排不再适用分组.
这个决定让我感到困惑,因为这使得arrange()与其他dplyr动词不一致,如果需要ungrouped,用户可以在arrange()之前取消组合().我希望也许在arrange()中有一个参数来保留groups_by行为,但是唉!
因此,我必须重写我的分组安排.此时,我唯一的选择似乎是在排列调用中拆分管道,循环遍历组并按组排列,然后再次绑定()结果.我希望有更优雅的解决方案吗?
下面是一个MRE,我想在wt per group_by(cyl)上运行一个cumsum.非常感谢您的想法/建议.
library(dplyr)
mtcars %>%
group_by(cyl) %>%
arrange(desc(mpg)) %>%
mutate(WtCum = cumsum(wt))
Run Code Online (Sandbox Code Playgroud)
要在dplyr 0.5中的组内进行排序,请在其中的其他排序变量之前添加分组变量arrange.
mtcars %>%
group_by(cyl) %>%
arrange(cyl, desc(mpg))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1157 次 |
| 最近记录: |