我对R没有很多经验,但我想把一个使用累计和的方程式放到R-studio中。该等式是一组离散时间方程的一部分,它们都是通过for循环建模的。 基本上,我想对此进行建模,但是以更简单的方式:
Zsec1 = g*(1+c/r+c)*Zprim1
Zsec2 = g*(1+c/r+c)*Zprim1 + g*(1+c/r+c)*Zprim2
Zsec3 = g*(1+c/r+c)*Zprim1 + g*(1+c/r+c)*Zprim2 + g*(1+c/r+c)*Zprim3
..etc
根据我在网上找到的内容,我尝试使用这样的for循环:
for (t in Time) print(cumsum({gamma*((1+c4)/(r+c4))*Zprm[t]}))
然而,cumsum代码没有做任何事情,因为当我拿出它时我得到相同的结果。
并且像这样:
total=0
for (t in Time) print({total <- total + (gamma*((1+c4)/(r+c4))*Zprm[t])})
有没有人可以帮我解决这个问题?非常感谢你!
答案 0 :(得分:1)
这基本上是第一条评论的答案。我只是发现在采集肿块之前更直观地隔离因素。
g*(1+c/r+c)*cumsum(Zprm[1:Time])[Time]
答案 1 :(得分:0)
你可以用这个:
Zprm<-rep(0,Time+1)
for (t in 1:Time){
Zprm[t+1]=(gamma*((1+c4)/(r+c4))*sum(Zprm))
}