【发布时间】:2018-11-26 21:58:59
【问题描述】:
我正在使用 plyr 包使用数据框 InsectSprays(在 R 基础中)练习 R:
ddply(InsectSprays,.(spray), summarize, sum = sum(count))
Error in .fun(piece, ...) : argument "by" is missing, with no default
我不明白这个错误是什么意思,教程执行了完全相同的命令并且输出如下:
spray sum
1 A 174
2 B 184
3 C 25
我还想创建一个新变量(仍然错误):
spraysum <- ddply(InsectSprays,.(spray), summarize, sum = ave(count,FUN = sum))
Error in .fun(piece, ...) : argument "by" is missing, with no default
【问题讨论】:
-
也许你同时加载了
dplyr包? -
嗯,但我没有加载 dplyr
-
然后尝试
summarise(s not z)而不是summarizeas described here。 -
@neilfws 它适用于第一个命令,但最后一个显示“summarise_impl(.data, dots) 中的错误:列总和的长度必须为 1(汇总值),而不是 12”跨度>
-
第二个命令在我的机器上运行良好,没有错误。与您的问题无关,但我建议学习
dplyr包(也许还有purrr)。从某种意义上说,它们已经取代了plyr,并且非常有用。