我编写了以下循环来选择最好的df,x,这样我就可以获得lm模型的最低AIC。
aic<-rep(NA,20)
for(i in 1:20){
cb1 <- crossbasis(AFH6, lag=24, argvar=list(fun="ns",df=8, cen=200), arglag=list(knots= logknots(24, 3)))
cb2 <- crossbasis(OutT, lag=24, argvar=list(fun="poly", degree=3, cen=12.28), arglag=list(knots= logknots(24, 3)))
cb3 <- crossbasis(OutRH, lag=24, argvar=list(fun="poly", degree=3, cen=68.5), arglag=list(knots= logknots(24, 3)))
aic[i]<-AIC(lm(NH3cH6~cb1+cb2+cb3+ns(DenH6,i)+ns(HenageH6,6)+ns(MweightH6,7)+ns(Time,5)+as.factor(LightH6)+ as.factor(MoltH6)))}
我的问题是:如何编写一次测试多个参数(i,j,k)的循环? 例如,我想测试
lm( NH3cH6 ~ cb1+cb2+cb3+ns(DenH6,i)+ns(HenageH6,j)+ns(MweightH6,k)+ns(Time,5)+as.factor(LightH6)+ as.factor(MoltH6)
感谢您的帮助!