下面是我遇到的问题的示例代码。似乎zoo不能与应用一起工作。关于如何让它按预期工作,有什么建议吗?
> #I am trying to use apply with zoo
> tmp <- zoo(matrix(c(0,1,0,0,0,1),nrow=3))
> tmp
1 0 0
2 1 0
3 0 1
> #for each column I want to subtract the lag
> #as an example I extract 1 column
> tmpcol <- tmp[,1]
> #this is what I want, for each column
> diffcol <- tmpcol-lag(tmpcol,-1)
> diffcol
2 3
1 -1
> #but if I do this using apply it gives bizarre behavior
> z <- apply(tmp,2,function(x) x-lag(x,-1))
> z
X.1 X.2
1 0 0
2 0 0
3 0 0发布于 2013-05-29 09:41:55
apply将其第一个参数强制转换为普通数组,因此不再涉及zoo。也许你想要这样:
> diff(tmp)
2 1 0
3 -1 1或者这个
> diff(tmp, na.pad = TRUE)
x.1 x.2
1 NA NA
2 1 0
3 -1 1https://stackoverflow.com/questions/16804052
复制相似问题