在R中的旧数据帧上从循环创建新的Dataframe

时间:2015-08-05 10:53:11

标签: r

我的数据框的时间序列价格(pt)如下所示:

head(MyData)
           A     B     C
2005-07-29 66.82 41.80 372.0
2005-08-01 68.94 42.70 373.0
2005-08-02 70.22 43.75 379.2
2005-08-03 70.79 43.75 385.6
2005-08-04 70.42 44.10 390.0
2005-08-05 69.84 43.60 386.0 

考虑到3天(w = 3)的回顾窗口,我正在尝试创建一个包含以下时间序列的新数据框:

x(ti)= 1 / w(Pt / Pt + Pt-1 / Pt + Pt-2 / Pt)

我使用了以下代码:

nR<-nrow(MyData)
 nC<-ncol(MyData)
 x<-data.frame()
 for (j in 1:nC){
    for(i in 1:nR-w+1){

   x[i,j]<-rowSums(MyData[i:(w+i-1),j])

               }
}

但是,我收到以下错误消息:

Error in rval[i, j, drop = drop., ...] : 
only 0's may be mixed with negative subscripts

这似乎表明我的循环出了问题?还是语法?任何帮助将不胜感激。

0 个答案:

没有答案