3.3. Poisson regression on the item nonresponse by incentive group (Table 5)
Table 5 shows the relationship between item nonresponse and social inequality categories via a Poisson regression model. It includes all the previously used independent variables (see Table 4).
Poisson model definition
$$\lambda_i=exp(\beta_0+\beta_1age+\beta_2partner+\beta_3hhsize+\beta_4edu+\beta_5job+\beta_6citizen+\beta_7origin+\beta_8income)$$.
# Specifying Poisson Model
poisson_models <- lapply(as.list(levels(WaveOne$Pumavers)), function(x){
glm(mistot ~ age.cat +
SD4.dic + # SD4 marital status
SD5.dic + # SD5 household size
edu + # education
job + # ocupational position
SD20 + # SD20 citizenship
SD21.dic + # origin,
quintil, # income
data = WaveOne[WaveOne$id.net==1,],
subset = mistot<16,
family = poisson())})
McFadden Pseudo R² for Poisson regression
The following formula was applied:
$$R^2_{McFadden}=1-\frac{\ln L_1}{\ln L_0}$$.
Rsquared <- formatC(round(c(
ZDF = 1 - poisson_models[[1]]$deviance/poisson_models[[1]]$null.deviance,
Two = 1 - poisson_models[[2]]$deviance/poisson_models[[2]]$null.deviance,
Five = 1 - poisson_models[[3]]$deviance/poisson_models[[3]]$null.deviance,
Ten = 1 - poisson_models[[4]]$deviance/poisson_models[[4]]$null.deviance),
3), format="f", digits=3)
Print Table 5
library(stargazer)
tab.html <- stargazer(poisson_models[[1]],
poisson_models[[2]],
poisson_models[[3]],
poisson_models[[4]],
type = "html",
float = FALSE,
intercept.bottom = FALSE,
#decimal.mark = ",",
#digit.separator = ".",
header = FALSE,
apply.coef = exp,
t.auto = FALSE,
p.auto = FALSE,
report = "vct*",
#rq.se = "ker",
add.lines = list(c("McFadden Pseudo-R²",
Rsquared["ZDF"],
Rsquared["Two"],
Rsquared["Five"],
Rsquared["Ten"])),
covariate.labels = c("Constant",
"65 years und older",
"Up to 24 years",
"Yes",
"Household (1-4 Persons)",
"Higher degree after Matura",
"Vocational or commercial school",
"Apprenticeship",
"Matura",
"Max. compulsory schooling",
"Worker",
"Civil servant",
"Pensioner",
"Unemployed (inactive)",
"Self-employed",
"Contract agents",
"No",
"EU15 with Austria",
"Quintil (5=highest)"),
dep.var.caption = "Response Rate",
dep.var.labels = c("Brochure",
"€2 token",
"€5 token",
"Voucher"),
multicolumn = FALSE,
model.names = TRUE,
model.numbers = FALSE)
# Fix number of columns
tab.html <- str_replace_all(tab.html,'colspan=\"5\"','colspan=\"6\"') %>%
str_replace_all('colspan=\"4\"','colspan=\"5\"') %>%
str_replace_all('<tr><td style=\"text-align:left\">',
'<tr><td style=\"text-align:left\"></td><td style=\"text-align:left\">')
# Add age entry
tab.html[9] <- str_replace(tab.html[9],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">Age</td>')
tab.html[10] <- str_replace(tab.html[10],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">(Ref = 25 to 64 years)</td>')
# Add parnership entry
tab.html[15] <- str_replace(tab.html[15],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">In partnership</td>')
tab.html[16] <- str_replace(tab.html[16],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">(Ref = No)</td>')
# Add household size entry
tab.html[18] <- str_replace(tab.html[18],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">Household size</td>')
tab.html[19] <- str_replace(tab.html[19],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">(Ref = Household (5+))</td>')
# Add education entry
tab.html[21] <- str_replace(tab.html[21],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">Education</td>')
tab.html[22] <- str_replace(tab.html[22],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">(Ref = University degree)</td>')
# Add job entry
tab.html[36] <- str_replace(tab.html[36],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">Professional position</td>')
tab.html[37] <- str_replace(tab.html[37],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">(Ref = Clerk)</td>')
# Add citizenship entry
tab.html[54] <- str_replace(tab.html[54],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">Austrian Citizenship</td>')
tab.html[55] <- str_replace(tab.html[55],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">(Ref = Yes) </td>')
# Add origin entry
tab.html[57] <- str_replace(tab.html[57],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">Origin</td>')
tab.html[58] <- str_replace(tab.html[58],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">(Ref = non-EU15)</td>')
# Add income entry
tab.html[60] <- str_replace(tab.html[60],
'<tr><td style=\"text-align:left\"></td>',
'<tr><td style=\"text-align:left\">Income</td>')
cat(tab.html)
Response Rate | ||||||
Brochure | €2 token | €5 token | Voucher | |||
Poisson | Poisson | Poisson | Poisson | |||
Constant | 2.289 | 2.289 | 2.289 | 2.289 | ||
t = 6.319*** | t = 6.319*** | t = 6.319*** | t = 6.319*** | |||
Age | 65 years und older | 1.072 | 1.072 | 1.072 | 1.072 | |
(Ref = 25 to 64 years) | t = 0.634 | t = 0.634 | t = 0.634 | t = 0.634 | ||
Up to 24 years | 1.200 | 1.200 | 1.200 | 1.200 | ||
t = 2.010** | t = 2.010** | t = 2.010** | t = 2.010** | |||
In partnership | Yes | 0.942 | 0.942 | 0.942 | 0.942 | |
(Ref = No) | t = -1.221 | t = -1.221 | t = -1.221 | t = -1.221 | ||
Household size | Household (1-4 Persons) | 1.159 | 1.159 | 1.159 | 1.159 | |
(Ref = Household (5+)) | t = 3.110*** | t = 3.110*** | t = 3.110*** | t = 3.110*** | ||
Education | Higher degree after Matura | 1.235 | 1.235 | 1.235 | 1.235 | |
(Ref = University degree) | t = 1.777* | t = 1.777* | t = 1.777* | t = 1.777* | ||
Vocational or commercial school | 0.959 | 0.959 | 0.959 | 0.959 | ||
t = -0.319 | t = -0.319 | t = -0.319 | t = -0.319 | |||
Apprenticeship | 1.025 | 1.025 | 1.025 | 1.025 | ||
t = 0.207 | t = 0.207 | t = 0.207 | t = 0.207 | |||
Matura | 1.299 | 1.299 | 1.299 | 1.299 | ||
t = 1.804* | t = 1.804* | t = 1.804* | t = 1.804* | |||
Max. compulsory schooling | 1.093 | 1.093 | 1.093 | 1.093 | ||
t = 0.732 | t = 0.732 | t = 0.732 | t = 0.732 | |||
Professional position | Worker | 0.868 | 0.868 | 0.868 | 0.868 | |
(Ref = Clerk) | t = -1.559 | t = -1.559 | t = -1.559 | t = -1.559 | ||
Civil servant | 0.828 | 0.828 | 0.828 | 0.828 | ||
t = -2.145** | t = -2.145** | t = -2.145** | t = -2.145** | |||
Pensioner | 0.919 | 0.919 | 0.919 | 0.919 | ||
t = -0.889 | t = -0.889 | t = -0.889 | t = -0.889 | |||
Unemployed (inactive) | 1.018 | 1.018 | 1.018 | 1.018 | ||
t = 0.175 | t = 0.175 | t = 0.175 | t = 0.175 | |||
Self-employed | 1.082 | 1.082 | 1.082 | 1.082 | ||
t = 1.205 | t = 1.205 | t = 1.205 | t = 1.205 | |||
Contract agents | 1.126 | 1.126 | 1.126 | 1.126 | ||
t = 1.484 | t = 1.484 | t = 1.484 | t = 1.484 | |||
Austrian Citizenship | No | 1.030 | 1.030 | 1.030 | 1.030 | |
(Ref = Yes) | t = 0.325 | t = 0.325 | t = 0.325 | t = 0.325 | ||
Origin | EU15 with Austria | 1.096 | 1.096 | 1.096 | 1.096 | |
(Ref = non-EU15) | t = 0.856 | t = 0.856 | t = 0.856 | t = 0.856 | ||
Income | Quintil (5=highest) | 0.979 | 0.979 | 0.979 | 0.979 | |
t = -1.320 | t = -1.320 | t = -1.320 | t = -1.320 | |||
McFadden Pseudo-R² | 0.021 | 0.021 | 0.021 | 0.021 | ||
Observations | 943 | 943 | 943 | 943 | ||
Log Likelihood | -2,391.217 | -2,391.217 | -2,391.217 | -2,391.217 | ||
Akaike Inf. Crit. | 4,820.434 | 4,820.434 | 4,820.434 | 4,820.434 | ||
Note: | *p<0.1; **p<0.05; ***p<0.01 |