##---------------------------------------------------------------------## ## Script for Soc 740 Lecture 11 ## ## John Fox ## ## Winter 2014 ## ##---------------------------------------------------------------------## # Poisson regression for Ornstein's interlocking-directorate data library(car) ?Ornstein tab <- table(Ornstein$interlocks) tab (x <- as.numeric(names(tab))) plot(x, as.numeric(tab), type='h', xlab='Number of Interlocks', ylab='Frequency') points(x, tab, pch=16) mod.ornstein <- glm(interlocks ~ assets + nation + sector, family=poisson, data=Ornstein) summary(mod.ornstein) exp(coef(mod.ornstein)) # for interpretation Anova(mod.ornstein) # quasi-Poisson model mod.ornstein.qp <- glm(interlocks ~ assets + nation + sector, family=quasipoisson, data=Ornstein) summary(mod.ornstein.qp) Anova(mod.ornstein.qp) Anova(mod.ornstein.qp, test="F") # effect plot, based on quasi-Poisson model library(effects) plot(allEffects(mod.ornstein.qp), ask=FALSE) # diagnostics # unusual data influencePlot(mod.ornstein.qp, id.method="identify") outlierTest(mod.ornstein.qp) D <- dfbeta(mod.ornstein.qp) plot(D[,"assets"]) abline(h=c(-3.389e-06, 0, 3.389e-06), lty=2) # +/- SE(B) identify(D[,"assets"]) # nonlinearity crPlots(mod.ornstein.qp, "assets", span=.9) mod.ornstein.qp.1 <- glm(interlocks ~ log10(assets) + nation + sector, family=quasipoisson, data=Ornstein) summary(mod.ornstein.qp.1) deviance(mod.ornstein.qp) crPlots(mod.ornstein.qp.1, "log10(assets)") influencePlot(mod.ornstein.qp.1, id.n=2)