As described in detail in Schoon, Melamed, and Breiger (2024), regression inside out entails understanding cases' contributions to the regression model space. Decomposing regression coefficients by cases or subsets and model visualization techniques are the key tools of regression inside out. decompose.model takes a regression model object and a numeric grouping vector for the cases, and returns the contributions to the regression coefficients and model variances by the grouping vector. Currently supported models include OLS, logistic regression, Poisson regression, and negative binomial regression. An example of each is provided below.
OLS regression:
library(rioplot) data(Kenworthy99) m1 <- lm(scale(dv) ~ scale(gdp) + scale(pov) + scale(tran) -1,data=Kenworthy99) decompose.model(m1,group.by = c(rep(1,5),rep(2,5),rep(3,5)),include.int = "no")
Logistic regression:
data("Hilbe") Hilbe <- data.frame(Hilbe,binAffairs=ifelse(Hilbe$naffairs>0,1,0)) m2<-glm(binAffairs ~ avgmarr + hapavg + vryhap + smerel + vryrel + yrsmarr4 + yrsmarr5 + yrsmarr6,data=Hilbe, family=binomial()) decompose.model(m2,group.by = c(rep(1,201),rep(2,200),rep(3,200)), model.type = "logit")
Poisson regression:
m3<-glm(naffairs~avgmarr + hapavg + vryhap + smerel + vryrel + yrsmarr4 + yrsmarr5 + yrsmarr6,data=Hilbe,family=poisson(link="log")) decompose.model(m3,group.by = c(rep(1,201),rep(2,200),rep(3,200)), model.type="poisson")
Negative binomial regression:
library(MASS) m4<-glm.nb(naffairs~avgmarr + hapavg + vryhap + smerel + vryrel + yrsmarr4 + yrsmarr5 + yrsmarr6,data=Hilbe) decompose.model(m4,group.by = c(rep(1,201),rep(2,200),rep(3,200)),model.type="nb")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.