Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Effective number of parties
doInstall <- TRUE # Change to FALSE if you don't want packages installed.
toInstall <- c("plyr", "ggplot2")
if(doInstall){install.packages(toInstall, repos = "")}
lapply(toInstall, library, character.only = TRUE)
ANES <- read.csv("")
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")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment