################
#Cesar
#2018-3-23
#GAM model
################
#安装mgcv包,安装一次即可
install.packages("mgcv")
#载入
library(mgcv)
#设置空间,放到自己想放的文件夹中,原始数据也放到该文件夹下
setwd("/home/cesar/LXF/3/")
#读取数据
dat<-read.csv("data.csv",header = T)
# attach 数据表,便于打参数
attach(dat)
#初步看一下各变量之间的关系,可以忽略
pairs(dat[,2:ncol(dat)],lower.panel = NULL)
#开始建模,选择变量
modgam1<-gam(density~s(av_tem),data = dat)
#输出,下同
sink("density~av-tem.txt")
summary(modgam1)
sink()
modgam2<-gam(density~s(av_tem)+s(flow),data = dat)
sink("density~av-tem+flow.txt")
summary(modgam2)
sink()
modgam3<-gam(density~s(av_tem)+s(flow)+s(water_level),data = dat)
sink("density~av-tem+flow+waterlevel.txt")
summary(modgam3)
sink()
modgam4<-gam(density~s(av_tem)+s(flow)+s(water_level)+s(av_tran),data=dat)
sink("density~av-tem+flow+waterlevel+av_tran.txt")
summary(modgam4)
sink()
#计算AIC
sink("AIC.txt")
AIC(modgam1,modgam2,modgam3,modgam4)
sink()
#计算anova
sink("anova.txt")
anova.gam(modgam1,modgam2,modgam3,modgam4,test = "Chisq")
sink()
##输出图形
dev.off()
plot(modgam1, all.terms=F, residuals=T, pch=20)
par(mfrow=c(1,2))
plot(modgam2, all.terms=F, residuals=T, pch=20)
par(mfrow=c(2,2))
plot(modgam3, all.terms=F, residuals=T, pch=20)
par(mfrow=c(2,2))
plot(modgam4, all.terms=F, residuals=T, pch=20)
#解除attach
detach(dat)
GAM模型在R中的实现
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...