如何在r中迭代求和

时间:2017-01-11 03:48:07

标签: r

我有一些我在不同步骤中计算过的值,我想迭代地对它们求和:

elasped_time1<-10
elasped_time2<-20
elasped_time3<-40
elasped_time4<-30
elasped_time5<-20
elasped_time6<-10
elasped_time7<-20
elasped_time8<-10
elasped_time9<-30
elasped_time10<-20

现在我想通过在elasped_time [i]中递增i来迭代求和它们......

我试过了:

n = 10
for(i in 1:n){
 x[i]=elasped_time[i]
 i=i+1
 print(total_time<-sum(x))
 }
cat("Total time taken to run the codes (seconds):",total_time)

但悲惨地失败了......需要帮助!

1 个答案:

答案 0 :(得分:2)

迭代命名的变量非常糟糕 - 它们会导致人们使用eval(parse(...))来编写难以编写的代码并且更难以调试代码。

您似乎想要一个名为elapsed_time的向量,其中包含一堆值:

elapsed_time = c(10, 20, 40, 30, 20, 10, 20, 10, 30, 20)

现在您可以使用elapsed_time[i]访问第i个元素:

elapsed_time[2]
# [1] 20

累积金额也很容易:

cumsum(elapsed_time)
# [1]  10  30  70 100 120 130 150 160 190 210