5

我的代码之前运行没有问题,但在调用 dcast 公式时崩溃了。在玩了之后,我发现即使是 dcast 帮助页面中的最小示例也不再适合我了。更确切地说:

#Air quality example
names(airquality) <- tolower(names(airquality))
aqm <- melt(airquality, id=c("month", "day"), na.rm=TRUE)

acast(aqm, day ~ month ~ variable)
acast(aqm, month ~ variable, mean)

最后一行产生以下错误:

Error in vaggregate(.value = value, .group = overall, .fun = fun.aggregate,  : 
  could not find function ".fun"

这是我的会话信息():

R version 2.13.1 (2011-07-08)
Platform: x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] C

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ggplot2_0.8.9   proto_0.3-9.2   reshape2_1.1    xtable_1.5-6    reshape_0.8.4   plyr_1.5.2      lubridate_0.2.5

loaded via a namespace (and not attached):
[1] stringr_0.5  tools_2.13.1

对于这里出了什么问题,我没有给出令人满意的答案,因此我将不胜感激。另外,我在 stackoverflow 上找到了以下线程:类似问题 这个问题似乎是由自定义函数引起的。但是,我使用标准均值函数和帮助页面中的标准示例。

更新:我只是做了一些互联网研究,并没有找到任何关于 reshape2 包更新的信息。这是我对这个问题的最佳猜测。

UPDATE2:出现问题是因为我很可能在 R 会话期间玩统计示例时重新分配了均值函数。重新启动 R 解决了这个问题。现在,一切都再次按预期工作。

4

2 回答 2

6

为了完整性:

PaulHurleyuk 的评论:

您是否尝试过重新启动 R 并在新会话中尝试该示例?或者执行 rm(list=ls()) 从当前会话中删除所有内容。在过去,我设法通过将某些东西分配给不应该分配的东西来破坏事情。

Christoph_J 的回应:

谢谢……这正是问题所在……

出现问题是因为我很可能在 R 会话期间玩统计示例时重新分配了均值函数。重新启动 R 解决了这个问题。现在,一切都再次按预期工作。

于 2011-10-19T10:00:59.803 回答
0

我也遇到了这个错误。
查看 dcast 帮助中的示例,args 列表似乎略有变化,并且不再使用 fun.aggregate="function"。相反,在公式之后,您只需键入不带引号的函数。

dcast(aqm, month ~ variable, mean, margins = c("month", "variable"))
于 2019-08-09T19:49:02.193 回答