R:先前元素的总和

时间:2013-06-11 14:08:52

标签: r

我有一个名为z的矢量:

x<-matrix(rep(-0.02,12))
y<-matrix(rep(0.03,12))

a<-rbind(x,y)
z<-cumprod(1+a) #

Z矢量中的初始点和最后一点是0.98和1.12。系列的长度是24.两者之间的最短距离是以增量:

的方式行进

(1.12-0.98)/(24-1)= 0.0060355

为了获得系列,我必须添加0.98到0.0060355才能获得元素2.要获得元素3,我必须使用元素2并添加0.0060355。如何才能在R中最有效地执行此操作而不是需要循环和引用前一个元素的循环?这可能吗?

3 个答案:

答案 0 :(得分:2)

另一个解决方案是创建一个新的向量w并使用cumsum函数:

w <- c(.98, rep(0.0060355,23)
cumsum(w)

答案 1 :(得分:1)

您似乎希望新序列中的间隔相等。在这种情况下,我认为您只想使用 seq 命令

seq(z[1],z[length(z)],(z[length(z)]-z[1])/(length(z)-1))

答案 2 :(得分:1)

不要计算增量,而是让seq为你做:

seq(z[1], z[length(z)], length=length(z) )