r - 对 R 中的一系列值求和(不使用 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).

第三,看?sum , 由此 sum(x)x 中的所有元素相加.

关于r - 对 R 中的一系列值求和(不使用 for 循环),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10491100/

相关文章:

html - 在 R 中以粗体标识网络链接

r - 如何在 POSIXct 中开始一天

javascript - shinyBS - 拖动时删除工具提示

r - 列出 R 数据文件的内容而不加载

R - 序列颜色和标签问题的 hist3D

在R中读取Stata 14文件

java - 将一个类连接到主类

r - 向量元素之和

R中函数解析树的冗余

r - tidyr::spread 和 dplyr::summarise 中的隐式排序