【发布时间】:2013-05-03 21:49:30
【问题描述】:
我认为这应该很容易,但我一直在摸索,找不到正确的方法。
我想计算A系列的总和:
A求和((i=2 到 i=s)*K(c1+c2(i-1)))
其中 k、c1 和 c2 是固定值。
展开A,我想得到所有这些的总和:
K(c1+c2(2-1))+K(c1+c2(3-1))+.......K(c1+c2(s-1))
要在 R 中做到这一点,这是我写的:
A<-function(s){
for (i in 2:s){
c1=5
c2=13.6
k=10
sum(k*(c1+c2*(i-1)))
}}
但是当我这样做时
A(5)
它什么也没想到
所以我修改了函数并要求它打印它做了什么:
A<-function(s){
for (i in 2:s){
c1=5
c2=13.6
k=10
a<-sum(k*(c1+c2*(i-1)))
print(a)
}}
> A(5)
[1] 186
[1] 322
[1] 458
[1] 594
显然它并没有“总结”所有这些,而是独立计算它们。
那么,求和的正确代码到底是什么?
谢谢。
【问题讨论】:
-
我很担心。非常担心......您认为“(n)”形式与从价值向量中选择第n个项目有某种联系。在 R 中使用“[n]”而不是“(n)”完成。