# 12/9/15 # Replication code for ``Organizations and the Democratic Representation of Interests: What Does It Mean When Those Organizations Have No Members?'' by Kay Lehman Schlozman, Philip Edward Jones, Hye Young You, Traci Burch, Sidney Verba, and Henry E. Brady. Perspectives on Politics 2015. library(foreign) library(car) library(survey) # Read in data data <- read.csv("WR_ICPSR.csv") # Assign value labels to key variables data$mship_status81 <- recode(data$mship_status81, "1='2 Memberless orgs'; 2='1 Assn of indivs'; 3='3 Assn of memberless orgs'; 4='4 Govt or assn of govts'; 5='5 Mixed or other'; 6='5 Mixed or other'; 9=NA; 10=NA") data$mship_status81 <- as.factor(data$mship_status81) data$mship_status91 <- recode(data$mship_status91, "1='2 Memberless orgs'; 2='1 Assn of indivs'; 3='3 Assn of memberless orgs'; 4='4 Govt or assn of govts'; 5='5 Mixed or other'; 6='5 Mixed or other'; 9=NA; 10=NA") data$mship_status91 <- as.factor(data$mship_status91) data$mship_status01 <- recode(data$mship_status01, "1='2 Memberless orgs'; 2='1 Assn of indivs'; 3='3 Assn of memberless orgs'; 4='4 Govt or assn of govts'; 5='5 Mixed or other'; 6='5 Mixed or other'; 9=NA; 10=NA") data$mship_status01 <- as.factor(data$mship_status01) data$mship_status06 <- recode(data$mship_status06, "1='2 Memberless orgs'; 2='1 Assn of indivs'; 3='3 Assn of memberless orgs'; 4='4 Govt or assn of govts'; 5='5 Mixed or other'; 6='5 Mixed or other'; 9=NA; 10=NA") data$mship_status06 <- as.factor(data$mship_status06) data$mship_status11 <- recode(data$mship_status11, "1='2 Memberless orgs'; 2='1 Assn of indivs'; 3='3 Assn of memberless orgs'; 4='4 Govt or assn of govts'; 5='5 Mixed or other'; 6='5 Mixed or other'; 9=NA; 10=NA") data$mship_status11 <- as.factor(data$mship_status11) data$abbrevcat <- recode(data$abbrevcat, "1='01 Corporations'; 2='02 Trade and other business assns.'; 3='03 Occupational assns.'; 4='04 Unions'; 5='05 Education'; 6='06 Health'; 7='07 Public interest'; 8='08 Identity groups'; 13='09 Social welfare or poor'; 14='10 State and local govts.'; 15='11 Foreign'; 16='12 Other'; 17='13 Dont know'; else=NA") data$abbrevcat <- factor(data$abbrevcat) data$bus.cat <- recode(data$category, "201:202='01 Business groups'; 204:206='01 Business groups'; 1002:1003='01 Business groups'; 2303='01 Business groups'; 301='01 Business groups'; 401:407='02 Less privileged'; 1901:1903='02 Less privileged'; 304='02 Less privileged'; 1401:1418='03 Identity groups'; 1502='03 Identity groups'; 1602='03 Identity groups'; 1701='03 Identity groups'; 1101:1116='04 Public interest'; 801:806='05 State and local govts.'; else='06 Other'") data$bus.cat <- factor(data$bus.cat) # recodes in-house/outside lobbyists to only include those hiring at least one: data$in_house11b <- recode(data$in_house11, "0=NA;-9=NA") data$outside11b <- recode(data$outside11, "0=NA;-9=NA") # use survey package to create weighted data (see documentation for explanation of weights) s81 <- svydesign(~0, weights=subset(data, in1981==1)$weight, data=subset(data, in1981==1)) s91 <- svydesign(~0, weights=subset(data, in1991==1)$weight, data=subset(data, in1991==1)) s01 <- svydesign(~0, weights=subset(data, in2001==1)$weight, data=subset(data, in2001==1)) s06 <- svydesign(~0, weights=subset(data, in2006==1)$weight, data=subset(data, in2006==1)) s11 <- svydesign(~0, weights=subset(data, in2011==1)$weight, data=subset(data, in2011==1)) ########################################################################################## # TABLE 1: Organizational membership status, 2011 ########################################################################################## round(svytable(~mship_status11, design=s11),0) ########################################################################################## # FIGURE 1: The growing organized interest community: Number of organizations by membership status, 1991-2011 ########################################################################################## n91 <- svytable(~mship_status91, design=s91) n01 <- svytable(~mship_status01, design=s01) n06 <- svytable(~mship_status06, design=s06) n11 <- svytable(~mship_status11, design=s11) n.tab <- rbind(n91,n01,n06,n11) round(n.tab,0) ########################################################################################## # TABLE 2: The changing distribution of organizational membership status, 1991-2011 ########################################################################################## t(n.tab) round(prop.table(t(n.tab), 2)*100, 1) colSums(t(n.tab)) ############################################################################################ # TABLE 3: Political capacity of organized interests, 2011 ############################################################################################ # In-house lobbyists: round(svyby(~inhousedum11, ~ mship_status11, design=s11, FUN=svymean, keep.var=F, na.rm=T)$statistic*100, 1) svymean(~inhousedum11, design=s11, keep.var=F, na.rm=T)*100 round(svyby(~in_house11b, ~mship_status11, design=s11, FUN=svymean, keep.var=F, na.rm=T)$statistic,2) svymean(~in_house11b, design=s11, keep.var=F, na.rm=T) # Outside firms: round(svyby(~outsidedum11, ~ mship_status11, design=s11, FUN=svymean, keep.var=F, na.rm=T)$statistic*100, 1) svymean(~outsidedum11, design=s11, keep.var=F, na.rm=T)*100 round(svyby(~outside11b, ~ mship_status11, design=s11, FUN=svymean, keep.var=F, na.rm=T)$statistic,2) svymean(~outside11b, design=s11, keep.var=F, na.rm=T) ############################################################################################ # TABLE 4: Distribution of lobbyists hired (percent), 2011 ############################################################################################ # In-house lobbyists in11 <- svyby(~in_house11b, ~mship_status11, design=s11, FUN=svytotal, keep.var=F, na.rm=T)$statistic round(in11/sum(in11)*100,1) sum(in11) # Outside firms ot11 <- svyby(~outside11b, ~mship_status11, design=s11, FUN=svytotal, keep.var=F, na.rm=T)$statistic round(ot11/sum(ot11)*100,1) sum(ot11) ############################################################################################ # TABLE 5: Lobbying expenditures and distribution of lobbying expenditures ############################################################################################ # 2000-2001 l01 <- svyby(~lobbying01, ~ mship_status01, design=s01, FUN=svytotal, keep.var=F, na.rm=T)$statistic round(l01,0)*1000 sum(round(l01,0)*1000) round(l01/sum(l01)*100, 1) # 2010-2011 l11 <- svyby(~lobbying11, ~mship_status11, design=s11, FUN=svytotal, keep.var=F, na.rm=T)$statistic round(l11,0)*1000 sum(round(l11,0)*1000) round(l11/sum(l11)*100, 1) ############################################################################################ # Figure 2: Ratio of memberless organizations to associations of individuals ############################################################################################ # lobbying spending round(l01[2]/l01[1], 2) round(l11[2]/l11[1], 2) # number of orgs round(n91[2]/n91[1], 2) round(n01[2]/n01[1], 2) round(n11[2]/n11[1], 2) ############################################################################################ # TABLE 6: Interests represented by organizations with different membership status ############################################################################################ tab11 <- svyby(~mship_status11, ~bus.cat, design=s11, FUN=svytotal, keep.var=F, na.rm=T) tab11b <- svytable(~bus.cat, design=subset(s11, mship_status11!="NA")) t1 <- cbind(tab11[,2], tab11[,3], tab11[,4], tab11b) round(prop.table(t1,2)*100, 1) colSums(t1) ############################################################################################ # FIGURE 3: Interests represented by organizations ############################################################################################ cols <- c("white", "black", "gray50", "gray90", "gray25", "gray60") quartz(width=10, height=10, bg="white") par(mfrow=c(2,2)) nams <- c("Business", "Less\nprivileged", "Identity\ngroups", "Public interest", "", "Other") pie(t1[,1], clockwise=T, labels=nams, col=cols, main="Assns. of individuals", radius=.9) nams <- c("Business", "Less privileged", "Identity groups", "Public interest", "", "Other") pie(t1[,2], clockwise=T, labels=nams, col=cols, main="Memberless organizations", radius=.9) nams <- c("Business", "Less privileged", "Identity groups", "Public interest", "", "Other") pie(t1[,3], clockwise=T, labels=nams, col=cols, main="Assns. of memberless organizations", radius=.9) nams <- c("Business", "Less\nprivileged", "Identity groups", "Public interest", "State/local\ngovts.", "Other") pie(t1[,4], clockwise=T, labels=nams, col=cols, main="All 2011 organizations", radius=.9) dev.print(dev=pdf, file="pies.pdf") dev.off()