【发布时间】:2018-01-01 21:18:48
【问题描述】:
我正在尝试对 R 中一个相当复杂的公式进行双重求和,但我认为 for 循环没有像我预期的那样工作。
这只是我正在尝试做的复杂事情的基本版本。
\sum_{I=3}^{5}\sum_{j=2}^{3} (I*j)
我希望这会将所有术语加在一起,例如 3*2+3*3+4*2+4*3+5*2+5*3 这将给出 60。但是我所拥有的代码并没有产生这样的结果,所以想知道 R 实际上用这个双 for 循环做了什么。
for(i in 3:5){
for(j in 2:3){
x<-i*j
}
}
我知道这个例子是微不足道的,但如果我能理解这一点,希望能够将它应用到我正在尝试做的更复杂的事情上。
【问题讨论】:
-
可以使用内置函数,例如
sum(outer(3:5, 2:3, "*")) -
你需要
x = x + i*j并将x初始化为0 -
目前,您的
for循环只是一遍又一遍地重写您的x对象,最后一个恰好是x <- 5*3