R代码 循环跑GAMMs

为每一个自变量单独跑一次GAMM

#载入数据data

> myresult <- data.frame(); myresult  #建立空数据框

> namex <- colnames(data[,4:17])  #提取数据需要使用的自变量名称共计14个

> for (i in 1:14) {        #共计14个自变量

>  formula1 <- paste("CV.NDVI",namex[i], sep=" ~ s(" )    #因变量CV.NDVI

>  formula  <- paste(formula1,")" )    #获得方程formula 如  CV.NDVI~ s(Mesopreadator)

>  model<- gamm( as.formula(formula ),  random=list(Area=~1), data = data) #随机效应Area

>  pvalue<-summary(model$gam)[8]  #提取gamm结果的p值

>  list<-data.frame(namex[i],pvalue)

>  myresult <-rbind(myresult,list)

> }

> names(myresult)<-c("independent variables","p-value")

> myresult  #结果包括自变量名称和对应的p值

结果示例如下


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。