我的代码在调用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"
下面是我的sessionInfo():
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上发现了以下线程:类似的问题这个问题似乎是由自定义函数引起的。但是,我使用了帮助页面中的标准均值函数和标准示例。
更新:我刚刚在网上做了一些研究,没有找到任何关于shape2包更新的信息。这是我对这个问题最好的猜测。
UPDATE2:问题发生是因为我很可能在R会话期间使用统计示例时重新分配了均值函数。重新启动R解决了这个问题。现在,一切又正常了。
为了完整:
PaulHurleyuk的评论:
你试过重启R并在一个新的会话中尝试这个例子吗? 或者执行rm(list=ls())从当前会话中删除所有内容。在过去,我通过分配一些东西来打破一些东西一些不应该被分配的东西
Christoph_J的反应:
谢谢…这正是问题所在。
出现问题是因为我很可能重新分配了平均值函数的时候,我正在玩一个统计的例子R会话。重新启动R解决了这个问题。现在,一切正常和预期的一样。
我也遇到了这个错误。
查看Help for dcast中的示例,参数列表似乎略有变化,并且没有使用fun。聚合= "函数"。相反,在公式之后,只需键入不带引号的函数。
dcast(aqm, month ~ variable, mean, margins = c("month", "variable"))
你好像用了"mean"作为一个对象,它仍然在工作空间中。我遇到了同样的错误,结果是你只需要从工作空间中清除对象。试着检查一下