2

你如何在 R 中执行这样的求和?

sum_{i=1}^3 (x^2)

i=1 is lower bound
i=3 is upper bound
x^2 is the operation

所以我们会表演

1^2 + 2^2 + 3^2

使用标准循环:

tot <-0
for (x in 1:3) {
  tot <- tot + x^2
}
4

2 回答 2

4

首先,我将指出要生成一个包含1,2,3您可以执行的元素的向量:

x <- 1:3

其次,R 是一种矢量化语言 - 意思是 ifx是一个矢量,我这样做x + 5会为我的每个元素添加 5,而不需要xfor 循环。

# Recalling that "x <- x + 5" is the same as
for ( i in 1:length(x) ) {
    x[i] <- x[i] + 5
}
# try to do something that makes  x squared, i.e. x == c(1,4,9).

第三,看?sum,从而sum(x)将 中的所有元素相加x

于 2012-05-08T01:05:33.803 回答
4
the_answer <- sum( (1:3)^2 )

For 循环在上个世纪是如此。

于 2012-05-08T03:21:25.617 回答