我的代码之前运行没有问题,在调用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上找到了以下线程:Similar problem 这个问题似乎是由自定义函数引起的。但是,我使用标准平均函数和帮助页面中的标准示例。
更新:我刚做了一些互联网研究,但没有找到有关reshape2软件包更新的任何信息。这是我对这个问题的最佳猜测。
UPDATE2:出现问题是因为我很可能在R会话期间玩弄了一个统计示例时重新分配了平均功能。重启R解决了这个问题。现在,一切都按预期工作了。
答案 0 :(得分:5)
为了完整性:
PaulHurleyuk的评论:
您是否尝试重新启动R并在新会话中尝试该示例 ?或者使用rm(list = ls())删除当前会话中的所有内容。 在过去,我设法通过分配东西来破坏事物 不应该分配的东西。
Christoph_J的回复:
谢谢......这正是问题......
出现问题是因为我很可能重新分配了这个意思 我正在玩一个统治性的例子 一个R会话。重启R解决了这个问题。现在,一切正常 如预期的那样。
答案 1 :(得分:0)
我也遇到了这个错误。
查看dcast帮助中的示例,args列表似乎已略有更改,并且不再使用fun.aggregate =“ function”。相反,在公式之后,您只需键入不带引号的函数即可。
dcast(aqm, month ~ variable, mean, margins = c("month", "variable"))