r - 总结不再分组

标签 r dplyr

我认为 dplyr 很棒。不过,我最近更新了该软件包,似乎 summarise 不再按组对我进行聚合。类似于以下代码,用于在升级之前按组进行汇总:

iris_tdt <- tbl_dt(iris)
iris_tdt %.% group_by(Species) %.% summarise(avg_petal_width = mean(Petal.Width))

  avg_petal_width
1        1.199333

这用于输出包含物种和 avg_petal_width 的表。现在,“物种”列似乎已被删除,并且 avg_petal_width 已聚合为单个值。 group_by 似乎正在工作,所以我猜测这是 summarise 的问题。

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)"

最佳答案

您可能还有另一个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, 或为所有受影响的函数添加前缀(summarisemutate 等) 及其命名空间(dplyr::summarise 等)

关于r - 总结不再分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22328323/

相关文章:

r - 绘制时 Shapefile 和矢量文件不会精确重叠

r - 将 PDF 嵌入 Shiny 的应用程序

r - 计算保留因子的面板数据的 5 年平均值

R:列数未知的行的最小值和最大值

r - 有没有办法从 j 部分中分配 R data.table 列的类

r - 如何使 data.frame 中的组等长?

r - 如何在dplyr summarise中使用标准评估_

r - dplyr::select_if 可以同时使用 colnames 及其值吗?

r - 报告 R 包中的 tex2docx 函数出错

r - 使用 dplyr 铅但有一些限制