3

为了尝试掌握 R 中的数据操作,我开始阅读 Hadley 关于split-apply-combine的论文。

我在第 3 页并试图通过代码来理解它。不幸的是,代码出错了,我的复制是忠实的(我已经完成了 c&p 和手工打字)。当我试图学习这些东西时,我一开始是对的,我实际上无法说出它有什么问题。我在 R2.5 和 R3.0 上都试过了

library("MASS")
library("plyr")
data(ozone)
one<-ozone[1,1,]
month<-ordered(rep(1:12,length=72))
model<-rlm(one ~ month - 1)
deseas<-resid(model)
deseasf<-function(value) {rlm(value ~ month - 1)}
models<-aaply(ozone,1:2,deseasf)
deseas<-aaply(models,1:2,resid)

模型在哪里出现错误Error: Results must have one or more dimensions.

有人可以告诉我它是否对他们有用,或者如果没有,需要修复/修改什么以及为什么





PS - 无法在http://plyr.had.co.nz/上查看勘误表,因为我的工作代理当前阻止了该站点!

4

2 回答 2

5

它应该是

models <- alply(ozone, 1:2, deseasf)
deseas <- ldply(models, resid)
于 2013-07-03T10:55:50.593 回答
0

事实证明这是 aaply 中的一个错误,Hadley 表示他将很快调查它:

https://groups.google.com/forum/#!topic/manipulatr/kg2wDU96mGM

于 2014-12-23T11:39:53.453 回答