简体   繁体   中英

Stargazer and gam - how to include the whole summary output?

When fitting a generalized additive model with smoothed splines stargazer only returns the main effects and not the smooth terms which you can see in summary(pros.gam) . Can stargazer return these as well? Or is there another function or package that can do the job?

library(ElemStatLearn)
library(mgcv)
library(stargazer)

pros.gam=gam(lpsa~s(lcavol)+s(lweight)+s(age)+s(lbph)+svi
+s(lcp)+gleason+s(pgg45),data=prostate)

summary(pros.gam) # Table should include the smooth terms that are visible here
stargazer(pros.gam,summary=TRUE)

toLatex of the utils package does the job:

require(utils)
toLatex(summary(pros.gam)$s.table) 

Output:

# \begin{tabular}{lD{.}{.}{7}D{.}{.}{7}D{.}{.}{7}D{.}{.}{7}}
# \toprule
 # & \multicolumn{1}{c}{edf} & \multicolumn{1}{c}{Ref.df} & \multicolumn{1}{c}{F} & \multicolumn{1}{c}{p-value} \\
# \midrule
# s(lcavol) & 1.0000000 & 1.0000000 & 48.8654347 & 0.0000000 \\
# s(lweight) & 7.4334733 & 8.3759397 & 2.9521585 & 0.0054553 \\
# s(age) & 1.7609527 & 2.1888342 & 3.2466098 & 0.0402275 \\
# s(lbph) & 1.7480193 & 2.1293872 & 2.3329425 & 0.0998080 \\
# s(lcp) & 3.3087460 & 4.0189658 & 1.3792509 & 0.2484695 \\
# s(pgg45) & 1.1277962 & 1.2388741 & 0.2681440 & 0.6563885 \\
# \bottomrule
# \end{tabular}

I was having the same problem converting the output of GAM models (mgcv package), I got what I wanted with the "itsadug" package authored by R. Harald Baayen.

Convert model summary into Latex / HTML table for knitr / R Markdown reports.

data(simdat)

Model with random effect and interactions:

m1 <- bam(Y ~ Group+te(Time, Trial, by=Group),data=simdat)
summary(m1)
gamtabs(m1, caption='Summary of m1')

See for more examples:

vignette("inspect", package="itsadug")

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM