累积总和向量在R中

时间:2015-05-24 12:29:23

标签: r cumulative-sum

我正在尝试获得累积总和的向量,也就是说,我有:

    # 500 Samples from the U(0,1) Distribution
U<-runif(500,0,1)

# Empty Vector of length 500
F<-rep(0,500)

# Fill the vector with f(U(k))
for ( i in 1:500 ){
  F[i] <- sqrt(1-U[i]^2)
}

# Another Empty Vector of length 500
I<-rep(0,500)

# Fill the second empty vector with the sums of F
for ( i in 1:500 ){
  I[i]<-cumsum(F[1]:F[i])
}

代码的最后一行是问题,我希望'我'成为一个向量,使得I [1] = F [1],I [n] = F [1] + F [2] + .. ...... + F [n]。由于某些原因,cumsum函数不适用于此。尝试这样做会有什么问题?

1 个答案:

答案 0 :(得分:4)

如果我误解了,请纠正我,但我相信你只是想要这个:

I <- cumsum(sqrt(1 - U^2))

目前还不清楚为什么要使用for循环。