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.

Question 1

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.

  1. Use 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)

plot of chunk unnamed-chunk-4

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.

  1. Once you’ve done that, diagnose problems with non-linearity using the conventional methods we talked about early last week (e.g., CR Plots). Implement simple fixes to the problems if they exist.
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))

plot of chunk unnamed-chunk-5

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))