对 R 中的一系列值求和(不使用 for 循环)

  • 本文关键字:for 循环 求和 一系列 r
  • 更新时间 :
  • 英文 :


如何在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
}
首先

,我要指出,要生成一个包含元素的向量,你可以1,2,3执行以下操作:

x <- 1:3

其次,R 是一种矢量化语言 - 这意味着如果 x 是一个向量并且我确实x + 5它会为我的每个x元素添加 5,而无需 for 循环。

# 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).

第三,看?sumsum(x)x中的所有元素加起来。

the_answer <- sum( (1:3)^2 )

上个世纪就是这样。

最新更新