加快循环速度

时间:2019-11-22 12:06:12

标签: r performance for-loop

我想计算每组迭代的累积损耗。也就是说,假设我的n_sim <-1000x=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 } 任何人都有更好的主意如何加快此过程。

0 个答案:

没有答案