n_sim <-1000
和x=rep(3,n_sim)
。
在上述情况下,迭代集为3,迭代集数为1000,因此总共进行了3000(1000 * 3)次迭代。
让我们定义如下:
Iter <- rep(1:n_sim, x)
,Val <-rnorm(3*n_sim)
,df<-data.frame(Iter,Val)
。
问题:我想计算Val
的总和,取每组迭代的含义,因为这里一组包含3个迭代,我想取前3个Val
迭代并计算总和,依此类推。因此,我将得到一个长度为1000的最终向量,其中包含每个集合的Val
的总和。
我在下面使用for
循环进行了尝试,但是在进行1百万次仿真时速度非常慢。
sum_value <-array(0,c(n_sim))
for(i in 1: n_sim) {
sum_value[i] = df[df$Iter==i,] %>% .$Val %>% sum
}
任何人都有更好的主意如何加快此过程。