我正在尝试为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
答案 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的向量并以相同的方式迭代。