public
Last active

Effective number of parties

  • Download Gist
Herfindahl–Hirschman_Index.R
R
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
doInstall <- TRUE # Change to FALSE if you don't want packages installed.
toInstall <- c("plyr", "ggplot2")
if(doInstall){install.packages(toInstall, repos = "http://cran.r-project.org")}
lapply(toInstall, library, character.only = TRUE)
 
ANES <- read.csv("http://www.oberlin.edu/faculty/cdesante/assets/downloads/ANES.csv")
head(ANES)
ANES$PID3 <- factor(ANES$pid7) # Convert to three-level Party ID:
levels(ANES$PID3) <- c("Dem", "Dem", "Dem", "Ind", "Rep", "Rep", "Rep")
 
# Using plyr to estimate the "Effective numbers of parties" by year and region
ENpid3 <- ddply(.data = ANES,
.progress = "text",
.variables = .(year, south),
summarize, # Calculate an inverse HHI
invHHI = sum(table(PID3))^2 / sum(table(PID3)^2))
 
zp1 <- ggplot(ENpid3)
zp1 <- zp1 + geom_line(aes(x = year, y = invHHI, colour = factor(south)))
zp1 <- zp1 + ggtitle("Effective Number of Parties-in-the-Electorate")
print(zp1)

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.