gpt4 book ai didi

r - 试图理解 dplyr 函数 - group_by

转载 作者:行者123 更新时间:2023-12-04 11:50:05 24 4
gpt4 key购买 nike

我试图了解 group_by 函数在 dplyr 中的工作方式。我正在使用 airquality 数据集,它随 datasetslink 一起提供.

我的理解是,如果我执行以下操作,它应该按 Temp 变量的升序排列记录

airquality_max1 <- airquality %>% arrange(Temp)

我看到 airquality_max1 就是这种情况。我现在想按 Temp 的递增顺序排列记录,但按 Month 分组。所以最终结果应该首先包含 Month == 5 的所有记录,按 Temp 的升序排列。然后它应该有 Month == 6 的所有记录,按 Temp 的递增顺序等等,所以我使用以下命令

airquality_max2 <- airquality %>% group_by(Month) %>% arrange(Temp)

但是,我发现结果仍然仅按 Temp 递增顺序排列,并未按 Month 分组,即 airquality_max1airquality_max2 是相等的。

我不确定为什么在 arrange 函数之前没有按 Month 分组。谁能帮助我理解我在这里做错了什么?

不仅仅是尝试按列对数据框进行排序的问题,我还试图理解 group_by 的行为,因为我试图用它来解释 group_by< 的应用 给某人。

最佳答案

arrange 忽略 group_by,参见 break-changes在 dplyr 0.5.0 上。如果您需要按两列排序,您可以这样做:

airquality %>% arrange(Month, Temp)

对于分组数据框,您还可以.by_group 变量首先按组变量排序

airquality %>% group_by(Month) %>% arrange(Temp, .by_group = TRUE)

关于r - 试图理解 dplyr 函数 - group_by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46046032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com