如何在R / python中对索引求和?

mm9b1k5b  于 2023-05-04  发布在  Python
关注(0)|答案(1)|浏览(200)

我需要把一个数学方程和一个指数转换成代码。需要转换为代码的和:

以下是错误的,但它的方式,我一直试图思考到目前为止。

for (t in 2:T) {
  for (h in 0:M) {
    sum_xp[t] = sum_xp[t] + x[h] * p[t-h]  
    y[t] = b[t] + sum_xp[t] 
  }
}
pxq42qpu

pxq42qpu1#

所以,我猜你想要这样的东西:

for (t in 2:T) {
  sum_xp <- 0
  for (h in 0:(M-1)) {sum_x_p <- sum_xp + x**h * p(t-h)}
  y[t] <- b[t] + sum_xp
}

注意,y[t]的赋值在for循环之外。
这也有助于理解变量x,y,p等的维数。但我猜我猜对了

关于速度的另一件事:

在R中有趣的是,如果你想要快速的代码,你想避免大的for循环,而是向量化你的代码。
R中有各种各样的“apply”-shenanegans可以使向量化更容易,但它需要一些抽象的思维来实现。作为各种apply-magic的参考,我推荐Advanced R Handbook
如果速度不是一个很大的问题,那么继续使用传统的for循环;- )

相关问题