gpt4 book ai didi

r - 使用 group_by(多个变量)时的 dplyr 问题

转载 作者:行者123 更新时间:2023-12-02 05:09:55 25 4
gpt4 key购买 nike

我想开始使用 dplyr 代替 ddply,但我无法了解它是如何工作的(我已阅读文档)。

例如,为什么当我尝试 mutate() 某些内容时,“group_by”函数无法按预期工作?

查看 mtcars:

图书馆(汽车)

假设我制作了一个 data.frame,它是 mtcar 的摘要,按“cyl”和“gear”分组:

df1 <- mtcars %.%
group_by(cyl, gear) %.%
summarise(
newvar = sum(wt)
)

然后说我想进一步总结这个数据框。使用 ddply,这很简单,但是当我尝试使用 dplyr 时,它实际上并不是“分组依据”:

df2 <- df1 %.%
group_by(cyl) %.%
mutate(
newvar2 = newvar + 5
)

仍然产生未分组的输出:

  cyl gear newvar newvar2
1 6 3 6.675 11.675
2 4 4 19.025 24.025
3 6 4 12.375 17.375
4 6 5 2.770 7.770
5 4 3 2.465 7.465
6 8 3 49.249 54.249
7 4 5 3.653 8.653
8 8 5 6.740 11.740

我的语法有问题吗?

<小时/>

编辑:

如果我用 plyr 和 ddply 来做到这一点:

df1 <- ddply(mtcars, .(cyl, gear), summarise, newvar = sum(wt))

然后获取第二个 df:

df2 <- ddply(df1, .(cyl), summarise, newvar2 = sum(newvar) + 5)

但是同样的方法,在 summarise() 函数中使用 sum(newvar) + 5 不适用于 dplyr...

最佳答案

我也遇到了类似的问题。我发现简单地分离 plyr 就可以解决它:

detach(package:plyr)    
library(dplyr)

关于r - 使用 group_by(多个变量)时的 dplyr 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21653295/

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