Both of the questions in this lab use state repression as the dependent variable. In a general sense, state repression is the violation of human rights by the state. In this case, the focus is on the set of “physical integrity rights” - the rights to be free from torture, political imprisonment, extrajudicial killing and forced disappearance.
This question uses the q1data.rda
file (which wil put an object in your workspace called q1data
). You can get this file by either downloading it from the course website https://quantoid.net/teachicpsr/regression3 or by doing the following in R:
q1 <- file("https://quantoid.net/files/reg3/q1data.rda")
load(q1)
close(q1)
This file has a number of variables. You can find a short description of each with:
searchVarLabels(q1data, "")
## ind label
## ccode 1 COW code
## Year 2 Year
## polity2 3 Polity2
## pop 4 Population
## all_phones_pc 5 All Telephones, including Cellular, Per Capita
## gdppc_mp 6 Gross National Product Per Capita (Market Prices)
## revols 7 Revolutions
## riots 8 Riots
## agdems 9 Anti-Government Demonstrations
## terror_incidents 10 Number of terrorist incidents
## physint 11 CIRI Physical Integrity Index
The dependent variable is going to be physint
the CIRI physical integrity rights index. All of the other variables, except for ccode
and Year
will be the independent variables.
alsosDV
in the DAMisc
package to figure out whether the 9-category (0-8) variable could be treated as an interval-level variabled and modeled with OLS without other modifications.library(DAMisc)
mod <- alsosDV(physint ~ polity2 + pop + all_phones_pc + gdppc_mp + revols + riots + agdems + terror_incidents, data=q1data)
Then, we could make a plot of the measurement function:
plot(mod$result)
This looks as though we could use this in as an interval level variable. For those of you in the scaling class, this would not be surprisnig because Cingranelli and Richards motivate the creation of the physical integrity rights index from the point of a cumulative scale and that model fits the data relatively well.
library(car)
mod <- lm(physint ~ polity2 + pop + all_phones_pc + gdppc_mp +
revols + riots + agdems + terror_incidents, data=q1data)
crPlots(model=mod, layout=c(3,3))
I’ll make the following changes to the model and the re-evaluate:
mod2 <- lm(physint ~ poly(polity2, 2) + log(pop) +
log(all_phones_pc) + log(gdppc_mp) +
revols + riots + agdems + terror_incidents, data=q1data)
summary(mod2)
##
## Call:
## lm(formula = physint ~ poly(polity2, 2) + log(pop) + log(all_phones_pc) +
## log(gdppc_mp) + revols + riots + agdems + terror_incidents,
## data = q1data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.0758 -0.9380 0.0953 0.9651 5.7792
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.172874 0.254910 28.139 <2e-16 ***
## poly(polity2, 2)1 50.041475 1.871044 26.745 <2e-16 ***
## poly(polity2, 2)2 20.841790 1.769869 11.776 <2e-16 ***
## log(pop) -0.362858 0.020563 -17.646 <2e-16 ***
## log(all_phones_pc) -0.255177 0.027557 -9.260 <2e-16 ***
## log(gdppc_mp) 0.548943 0.036473 15.051 <2e-16 ***
## revols -0.723978 0.059539 -12.160 <2e-16 ***
## riots -0.005719 0.023139 -0.247 0.805
## agdems -0.025929 0.020954 -1.237 0.216
## terror_incidents -0.171783 0.008383 -20.491 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.494 on 3177 degrees of freedom
## Multiple R-squared: 0.5579, Adjusted R-squared: 0.5566
## F-statistic: 445.4 on 9 and 3177 DF, p-value: < 2.2e-16
crPlots(mod2, layout=c(3,3))