我有这个数据集 https://gist.github.com/natemiller/42eaf45747f31a6ccf9arollapply回归“ENVIR”错误
我试图使用在动物园里包rollapply
申请滚动回归,继在rollapply
帮助的例子,不断得到什么,我想象是一个简单的错误,但我还没有能够解决。
如果我加载上述数据为 “DAT”,那么我这样做..
dat$Date<-as.POSIXct(dat$Date, format="%m/%d/%y %H:%M")
library(zoo)
roll<-rollapply(dat, width = 6, FUN = function(d) coef(lm(Temp~Date, data=d)), align="right")
,我得到的错误
Error in eval(predvars, data, env) : invalid 'envir' argument
dat
应适当输入lm
,这lm
在rollapply
之外工作,所以错误出现在rollapply
本身。我认为它很简单,但我会很感激帮助。 谢谢
抱歉,我rollapply的理解是指定的功能(功能(d))施加到数据帧(在这种情况下,DAT),用作第一输入至rollapply。因此,d将是一个数据框。这就是plyr中的函数(如ddply)似乎能够工作的原因,我想我误解了rollapply中的示例代码如何工作。至于6分的回归,我每10分钟测量一次数据,并希望计算全天的60分钟平均值,所以我坚持用6分回归。 – 2013-03-22 20:58:46
@rollaply不像'plyr'。它更像是“过滤”功能。是一个像你的时间系列移动窗口。宽度参数是窗口的宽度。我不明白你评论的第二部分。你每天有5 * 24的价值,你会改变他们到什么? – agstudy 2013-03-22 21:06:28
谢谢。我想要做的是滚动时间序列,窗口宽度为60分钟(代表6个值,因为它们每10分钟测量一次),并计算每个窗口的温度变化(斜率)。那么我的目标就是确定每天和每天发生的最大斜率。 – 2013-03-22 21:22:14