R GAM的提取估计
我对R相当陌生,目前正在阅读一本书《广义加法模型》,这是Wood(2006)对R的介绍,并且正在进行一些练习,特别是我感兴趣的领域,关于空气污染和死亡的部分。使用mgcv包,我运行以下模型R GAM的提取估计,r,gam,mgcv,R,Gam,Mgcv,我对R相当陌生,目前正在阅读一本书《广义加法模型》,这是Wood(2006)对R的介绍,并且正在进行一些练习,特别是我感兴趣的领域,关于空气污染和死亡的部分。使用mgcv包,我运行以下模型 library(gamair) library(mgcv) data(chicago) ap1<-gam(death ~ pm10median + so2median + o3median +s(time,bs="cr",k=200)+ s(tmpd,bs="cr"), data=chicago
library(gamair)
library(mgcv)
data(chicago)
ap1<-gam(death ~ pm10median + so2median + o3median +s(time,bs="cr",k=200)+ s(tmpd,bs="cr"), data=chicago,family=poisson)
库(gamair)
图书馆(mgcv)
数据(芝加哥)
ap1保存模型摘要
summary_model <- summary(ap1)
如果需要样条线项,则这是
summary_model$s.table
edf Ref.df Chi.sq p-value
s(time) 167.327973 187.143378 1788.8201 4.948832e-259
s(tmpd) 8.337121 8.875807 110.5231 1.412415e-19
您可以手动计算95%CI,并根据需要添加这些值。(由于DF高,将使用Z分数)
您创建的列表现在包含了相关的组件。非常感谢您的帮助性回答,这正是我一直在寻找的。我想重新提出这个问题,希望我不会违反论坛规则。如何系统地存储多个gam对象(mgcv包)的系数?目前,我正在单独存储每个估算值,无法计算如何对多个对象进行估算。亲爱的mnel,谢谢,非常感谢您的帮助。这些系数出现在汇总表中,我对汇总表做了如下修改:汇总表
summary_model$s.table
edf Ref.df Chi.sq p-value
s(time) 167.327973 187.143378 1788.8201 4.948832e-259
s(tmpd) 8.337121 8.875807 110.5231 1.412415e-19
p_table <- data.frame(summary_model$p.table)
p_table <- within(p_table, {lci <- Estimate - qnorm(0.975) * Std..Error
uci <- Estimate + qnorm(0.975) * Std..Error})
p_table
Estimate Std..Error z.value Pr...z.. uci lci
(Intercept) 4.7457425965 1.480523e-03 3205.4510971 0.000000000 4.7486443674 4.742841e+00
pm10median 0.0002551498 9.384003e-05 2.7189871 0.006548217 0.0004390729 7.122675e-05
so2median 0.0008898646 5.543272e-04 1.6053056 0.108426561 0.0019763260 -1.965968e-04
o3median 0.0002212612 2.248015e-04 0.9842516 0.324991826 0.0006618641 -2.193416e-04\
# create list
model_list <- list(ap1, ap2, ap3)
# give the elements useful names
names(model_list) <- c('ap1','ap2','ap3')
# get the summaries using `lapply
summary_list <- lapply(model_list, summary)
# extract the coefficients from these summaries
p.table_list <- lapply(summary_list, `[[`, 'p.table')
s.table_list <- lapply(summary_list, `[[`, 's.table')