在 R 中求和的循环

For loop for summation in R

假设我有以下总结。 [总结图像]。 如何编写 for 循环,以便我可以将值存储到 j = 1 的向量中,一直到 j = m.

我尝试了以下方法

theta1 <- 1
theta2 <- 2

z = c()
for(i in 1:j){
 z[i] <- sum(exp[(theta1 * j + theta2 * j)
}

但是,我得到了一个长度为 j 的向量,只有相同的输出

查看方程式,这可能就是您要查找的内容。

首先,您从一个空向量开始 z:

z = c()

使用您的等式项,我们将索引称为 j。然后你可能想要一个从 1 到 mfor 循环(确保定义 m)。然后可以按如下方式计算每个元素:

for (j in 1:m) {
  z[j] <- exp((theta1 * j) + (theta2 * (j ^ 2)))
}

矢量元素的最终总和为:

sum(z)

由于 exp 矢量化的 ,您可以考虑以下替代方案,而不是使用 for 循环:

j <- 1:m
sum(exp((theta1 * j) + (theta2 * (j ^ 2))))

这应该提供相同的答案。