# R FILE NUMBER 2 FOR "THE POLITICAL ENTROPY OF VOTE CHOICE", SUMMER 1997 # THIS FILE CONTAINS THE DATA MANIPULATION AND TRANSFORMATION WORK # FOR BUILDING THE IDEOLOGY ENTROPY TERM WITH A PRIOR # THE NEXT FILE IS THE MODEL FILE: entropy.model.s # REQUIRED FUNCTION: uncert.wt <- function(in.vector) { max.pos <- order(in.vector)[length(in.vector)] weight.vector <- in.vector[max.pos] for(i in 1:length(in.vector)) { if ((max.pos - i) >= 1) if ((max.pos + i) <= length(in.vector)) weight.vector <- c( weight.vector, (in.vector[max.pos-i] + in.vector[max.pos+i])/2 ) else ( weight.vector <- c(weight.vector,in.vector[max.pos-i]) ) else { if ((max.pos + i) <= length(in.vector)) weight.vector <- c(weight.vector,in.vector[max.pos+i]) } } while(length(weight.vector) < length(in.vector)) weight.vector <- c(weight.vector,min(in.vector)) weight.vector <- weight.vector/sum(weight.vector) return(weight.vector) } print("START OF ENTROPY HPRIME CALCULATIONS") # LOOK AT CANDIDATE IDEOLOGY, CREATE NEW r_ij PRIOR KNOWLEDGE VARIABLE # BARTELS: NA -> 4 (MIDDLE OF SCALE) Dem.Certainty.Very <- NULL Dem.Certainty.Pretty <- NULL Dem.Certainty.Not <- NULL Rep.Certainty.Very <- NULL Rep.Certainty.Pretty <- NULL Rep.Certainty.Not <- NULL print("LOOP THROUGH DEMOCRATS") for(i in 1:nrow(e.data2)) { if(e.data2[i,"Dem.Certainty"]==1) Dem.Certainty.Very<-c(Dem.Certainty.Very,e.data2[i,"Dem.Ideology"]) if(e.data2[i,"Dem.Certainty"]==3) { Dem.Certainty.Pretty<-c(Dem.Certainty.Pretty,e.data2[i,"Dem.Ideology"]) e.data2[i,"Dem.Certainty"] <- 2 } if(e.data2[i,"Dem.Certainty"]==5) { Dem.Certainty.Not<-c(Dem.Certainty.Not,e.data2[i,"Dem.Ideology"]) e.data2[i,"Dem.Certainty"] <- 3 } if(e.data2[i,"Dem.Certainty"]==8) { Dem.Certainty.Not<-c(Dem.Certainty.Not,e.data2[i,"Dem.Ideology"]) e.data2[i,"Dem.Certainty"] <- 3 } } e.data2[,"Dem.Certainty"][e.data2[,"Dem.Certainty"]==4] <- 3 print("LOOP THROUGH REPUBLICANS") for(i in 1:nrow(e.data2)) { if(e.data2[i,"Rep.Certainty"]==1) Rep.Certainty.Very<-c(Rep.Certainty.Very,e.data2[i,"Rep.Ideology"]) if(e.data2[i,"Rep.Certainty"]==3) { Rep.Certainty.Pretty<-c(Rep.Certainty.Pretty,e.data2[i,"Rep.Ideology"]) e.data2[i,"Rep.Certainty"] <- 2 } if(e.data2[i,"Rep.Certainty"]==5) { Rep.Certainty.Not<-c(Rep.Certainty.Not,e.data2[i,"Rep.Ideology"]) e.data2[i,"Rep.Certainty"] <- 3 } if(e.data2[i,"Rep.Certainty"]==8) { Rep.Certainty.Not<-c(Rep.Certainty.Not,e.data2[i,"Rep.Ideology"]) e.data2[i,"Rep.Certainty"] <- 3 } } e.data2[,"Rep.Certainty"][e.data2[,"Rep.Certainty"]==4] <- 3 Prob.Dem.Certainty.Very <- table(Dem.Certainty.Very)/length(Dem.Certainty.Very) Prob.Rep.Certainty.Very <- table(Rep.Certainty.Very)/length(Rep.Certainty.Very) Prob.Dem.Certainty.Pretty <- table(Dem.Certainty.Pretty)/length(Dem.Certainty.Pretty) Prob.Rep.Certainty.Pretty <- table(Rep.Certainty.Pretty)/length(Rep.Certainty.Pretty) Prob.Dem.Certainty.Not <- table(Dem.Certainty.Not)/length(Dem.Certainty.Not) Prob.Rep.Certainty.Not <- table(Rep.Certainty.Not)/length(Rep.Certainty.Not) print("LIST OF IDEOLOGY PROBABILITIES BY PARTY/CERTAINTY") Prob.list <- list(Prob.Dem.Certainty.Very, Prob.Rep.Certainty.Very, Prob.Dem.Certainty.Pretty, Prob.Rep.Certainty.Pretty, Prob.Dem.Certainty.Not, Prob.Rep.Certainty.Not) Uncert.Dem.Certainty.Very <- uncert.wt(Prob.Dem.Certainty.Very) Uncert.Rep.Certainty.Very <- uncert.wt(Prob.Rep.Certainty.Very) Uncert.Dem.Certainty.Pretty <- uncert.wt(Prob.Dem.Certainty.Pretty) Uncert.Rep.Certainty.Pretty <- uncert.wt(Prob.Rep.Certainty.Pretty) Uncert.Dem.Certainty.Not <- uncert.wt(Prob.Dem.Certainty.Not) Uncert.Rep.Certainty.Not <- uncert.wt(Prob.Rep.Certainty.Not) print("LIST OF UNCERTAINTY WEIGHTS BY PARTY/CERTAINTY") Uncert.list <- list(Uncert.Dem.Certainty.Very,Uncert.Rep.Certainty.Very, Uncert.Dem.Certainty.Pretty,Uncert.Rep.Certainty.Pretty, Uncert.Dem.Certainty.Not,Uncert.Rep.Certainty.Not) # BUILD ENTROPY VECTOR FOR DEMOCRAT CLINTON SUPPORT e.vector.Dem.Supp.Clt <- table(e.data2[,"Dem.Supp.Clt"][e.data2[,"Dem.Supp.Clt"] != 0]) e.vector.Dem.Supp.Clt <- e.vector.Dem.Supp.Clt/sum(e.vector.Dem.Supp.Clt) entropy.Dem.Supp.Clt <- -sum(e.vector.Dem.Supp.Clt*log(e.vector.Dem.Supp.Clt)) # BUILD ENTROPY VECTOR FOR REPUBLICAN CLINTON SUPPORT e.vector.Rep.Supp.Clt <- table(e.data2[,"Rep.Supp.Clt"][e.data2[,"Rep.Supp.Clt"] != 0]) e.vector.Rep.Supp.Clt <- e.vector.Rep.Supp.Clt/sum(e.vector.Rep.Supp.Clt) entropy.Rep.Supp.Clt <- -sum(e.vector.Rep.Supp.Clt*log(e.vector.Rep.Supp.Clt)) # BUILD ENTROPY VECTOR FOR DEMOCRAT CRIME BILL e.vector.Dem.Supp.CB <- table(e.data2[,"Dem.Vote.CB"][e.data2[,"Dem.Vote.CB"] != 0]) e.vector.Dem.Supp.CB <- e.vector.Dem.Supp.CB/sum(e.vector.Dem.Supp.CB) entropy.Dem.Supp.CB <- -sum(e.vector.Dem.Supp.CB*log(e.vector.Dem.Supp.CB)) # BUILD ENTROPY VECTOR FOR REPUBLICAN CRIME BILL e.vector.Rep.Supp.CB <- table(e.data2[,"Rep.Vote.CB"][e.data2[,"Rep.Vote.CB"] != 0]) e.vector.Rep.Supp.CB <- e.vector.Rep.Supp.CB/sum(e.vector.Rep.Supp.CB) entropy.Rep.Supp.CB <- -sum(e.vector.Rep.Supp.CB*log(e.vector.Rep.Supp.CB)) # BUILD ENTROPY VECTOR FOR DEMOCRAT GOVERNMENT HELP WITH JOB CREATION e.vector.Dem.Gvt.Help <- table(e.data2[,"Dem.Gvt.Help"][e.data2[,"Dem.Gvt.Help"] != 0]) e.vector.Dem.Gvt.Help <- e.vector.Dem.Gvt.Help/sum(e.vector.Dem.Gvt.Help) entropy.Dem.Gvt.Help <- -sum(e.vector.Dem.Gvt.Help*log(e.vector.Dem.Gvt.Help)) # BUILD ENTROPY VECTOR FOR REPUBLICAN GOVERNMENT HELP WITH JOB CREATION e.vector.Rep.Gvt.Help <- table(e.data2[,"Rep.Gvt.Help"][e.data2[,"Rep.Gvt.Help"] != 0]) e.vector.Rep.Gvt.Help <- e.vector.Rep.Gvt.Help/sum(e.vector.Rep.Gvt.Help) entropy.Rep.Gvt.Help <- -sum(e.vector.Rep.Gvt.Help*log(e.vector.Rep.Gvt.Help)) # BUILD ENTROPY VECTOR FOR DEMOCRAT GOVERNMENT SPENDING e.vector.Dem.Gvt.Spend <- table(e.data2[,"Dem.Gvt.Spend"][e.data2[,"Dem.Gvt.Spend"] != 0]) e.vector.Dem.Gvt.Spend <- e.vector.Dem.Gvt.Spend/sum(e.vector.Dem.Gvt.Spend) entropy.Dem.Gvt.Spend <- -sum(e.vector.Dem.Gvt.Spend*log(e.vector.Dem.Gvt.Spend)) # BUILD ENTROPY VECTOR FOR REPUBLICAN GOVERNMENT SPENDING e.vector.Rep.Gvt.Spend <- table(e.data2[,"Rep.Gvt.Spend"][e.data2[,"Rep.Gvt.Spend"] != 0]) e.vector.Rep.Gvt.Spend <- e.vector.Rep.Gvt.Spend/sum(e.vector.Rep.Gvt.Spend) entropy.Rep.Gvt.Spend <- -sum(e.vector.Rep.Gvt.Spend*log(e.vector.Rep.Gvt.Spend)) # BUILD ENTROPY VECTOR FOR DEMOCRAT FEDERAL HEALTHCARE e.vector.Dem.Fed.Health <- table(e.data2[,"Dem.Fed.Health"][e.data2[,"Dem.Fed.Health"] != 0]) e.vector.Dem.Fed.Health <- e.vector.Dem.Fed.Health/sum(e.vector.Dem.Fed.Health) entropy.Dem.Fed.Health <- -sum(e.vector.Dem.Fed.Health*log(e.vector.Dem.Fed.Health)) # BUILD ENTROPY VECTOR FOR REPUBLICAN FEDERAL HEALTHCARE e.vector.Rep.Fed.Health <- table(e.data2[,"Rep.Fed.Health"][e.data2[,"Rep.Fed.Health"] != 0]) e.vector.Rep.Fed.Health <- e.vector.Rep.Fed.Health/sum(e.vector.Rep.Fed.Health) entropy.Rep.Fed.Health <- -sum(e.vector.Rep.Fed.Health*log(e.vector.Rep.Fed.Health)) print("NOW BUILDING THE IDEOLOGY ENTROPY TERM WITHOUT A PRIOR") e.data2 <- cbind(e.data2,e.data2[,"Ideology"],e.data2[,"Dem.Ideology"], e.data2[,"Rep.Ideology"]) nc <- ncol(e.data2) dimnames(e.data2)[[2]][(nc-2):(nc)] <- c("NP.Ideology","NP.Dem.Ideology","NP.Rep.Ideology") # ADJUST RESPONDENT IDEOLOGY e.data2[,"NP.Ideology"][e.data2[,"NP.Ideology"]==8] <- 4 # DON'T KNOWS TURNED INTO 4s e.data2[,"NP.Dem.Ideology"][e.data2[,"NP.Dem.Ideology"]==8] <- 4 # DON'T KNOWS TURNED INTO 4s e.data2[,"NP.Rep.Ideology"][e.data2[,"NP.Rep.Ideology"]==8] <- 4 # BUILD ENTROPY VECTOR FOR DEMOCRAT NO PRIOR IDEOLOGY e.vector.Dem.NP.Ideology <- table(e.data2[,"NP.Dem.Ideology"][e.data2[,"NP.Dem.Ideology"] != 0]) e.vector.Dem.NP.Ideology <- e.vector.Dem.NP.Ideology/sum(e.vector.Dem.NP.Ideology) entropy.Dem.NP.Ideology <- -sum(e.vector.Dem.NP.Ideology*log(e.vector.Dem.NP.Ideology)) # BUILD ENTROPY VECTOR FOR REPUBLICAN NO PRIOR IDEOLOGY e.vector.Rep.NP.Ideology <- table(e.data2[,"NP.Rep.Ideology"][e.data2[,"NP.Rep.Ideology"] != 0]) e.vector.Rep.NP.Ideology <- e.vector.Rep.NP.Ideology/sum(e.vector.Rep.NP.Ideology) entropy.Rep.NP.Ideology <- -sum(e.vector.Rep.NP.Ideology*log(e.vector.Rep.NP.Ideology))