我认为dplyr太棒了。但是我最近更新了这个软件包,似乎总结不再为我分组。类似于以下用于在升级之前按组汇总的代码:
iris_tdt <- tbl_dt(iris)
iris_tdt %.% group_by(Species) %.% summarise(avg_petal_width = mean(Petal.Width))
avg_petal_width
1 1.199333
这用于输出具有Species和avg_petal_width的表。现在,物种列似乎被删除,avg_petal_width聚合为单个值。 group_by似乎正在工作,所以我猜这是一个总结的问题。
grp <- group_by(iris_tdt,Species)
groups(grp)
[[1]]
Species
即使Vignette中的示例也无法正常工作。
hflights_df <- tbl_df(hflights)
planes <- group_by(hflights_df, TailNum)
delay <- summarise(planes,
dist = mean(Distance, na.rm = TRUE),
delay = mean(ArrDelay, na.rm = TRUE))
delay
dist delay
1 787.7832 7.094334
非常感谢任何建议。
packageDescription("dplyr")$Version #--> 0.1.2
R.version.string #--> "R version 3.0.2 (2013-09-25)"
答案 0 :(得分:5)
您可能有另一个summarise
功能,
可能来自plyr
包。
# Works
library(dplyr)
iris_tdt <- tbl_dt(iris)
iris_tdt %.%
group_by(Species) %.%
summarise(avg_petal_width = mean(Petal.Width))
# No longer works...
library(plyr)
iris_tdt <- tbl_dt(iris)
iris_tdt %.%
group_by(Species) %.%
summarise(avg_petal_width = mean(Petal.Width))
如果你真的需要两个包,
您可以尝试最后加载dplyr
,
或者为所有受影响的函数添加前缀(summarise
,mutate
等。)
用他们的命名空间(dplyr::summarise
等)