从r中获取for循环的输出

时间:2017-10-12 08:31:28

标签: r for-loop

我正在尝试为R中的循环代码编写此代码,但会发生此错误。

Error in h(i - 1) : could not find function "h"

我该怎么办?

F1<-as.matrix(F_1_) #importing data
a01=0.1             #importing parameters
a11=0.1
b11=0.1
epsilon=0.5
a02=0.1
a12=0.1
b12=0
h(0) <- 0.3208   #starting value for h(i)

for(i in 1:2377)
{
 h(i)<- ((a01+a11*h(i-1)*(epsilon^2)*h(i-1)*b11)+F1[,2]*(a02+a12*h(i-1)*(epsilon^2)+h(i-1)*b12))
}
return(h(i))       #getting output from h(i), h(i) depend on h(i-1) and other parameters

1 个答案:

答案 0 :(得分:0)

语法h()假设h是一个函数。

您可以将h设置为空列表,初始化并迭代它。

h <- list()
h[[1]] <- 0 # or whatever initial value
for(i in 2:2377)
{
 h[[i]]<- ((a01+a11*h[[i-1]]*(epsilon^2)*h[[i-1]]*b11)+F1[,2]*(a02+a12*h[[i-1]]*(epsilon^2)+h[[i-1]]*b12))
}

或者你可以将h初始化为0的向量并以相同的方式迭代。