# # # # basicspace_blackbox_transpose.r -- Analyzes 1968 Candidate Feeling Thermometers # Mimics a Classical MDS Analysis # # # &&&&&&&&& THERMOMETERS &&&&&&&& # # VAR00478 LOC 934 WIDTH 2 FEELING THMTR-WALLACE # VAR00479 LOC 936 WIDTH 2 FLG THMTR-HUMPHREY # VAR00480 LOC 938 WIDTH 2 FEELING THMTR-NIXON # VAR00481 LOC 940 WIDTH 2 FLG THMTR-MCCARTHY # VAR00482 LOC 942 WIDTH 2 FEELING THMTR-REAGAN # VAR00483 LOC 944 WIDTH 2 FLG THMTR-ROCKEFELLER # VAR00484 LOC 946 WIDTH 2 FEELING THMTR-JOHNSON # VAR00485 LOC 948 WIDTH 2 FEELING THMTR-ROMNEY # VAR00486 LOC 950 WIDTH 2 FEELING THMTR-KENNEDY # VAR00487 LOC 952 WIDTH 2 FEELING THMTR-MUSKIE # VAR00488 LOC 954 WIDTH 2 FEELING THMTR-AGNEW # VAR00489 LOC 956 WIDTH 2 FEELING THMTR-LEMAY -- 98 & 99 missing data # rm(list=ls(all=TRUE)) # library(MASS) library(foreign) library(basicspace) setwd("C:/basicspace") data <- read.dta("nes1968_first.dta") attach(data,warn.conflicts = FALSE) # T <- cbind(VAR00478,VAR00479,VAR00480,VAR00481,VAR00482,VAR00483,VAR00484,VAR00485,VAR00486,VAR00487,VAR00488,VAR00489) # # CURRENTLY PACKAGE LIMITS TRANSPOSE APPLICATION TO 1500 ROWS (BEFORE TRANSPOSITION) # TT <- T[1:1500,] mode(TT) <- "double" colnames(TT) <- c("Wallace","Humphrey","Nixon","McCarthy","Reagan","Rockefeller","Johnson", "Romney","Kennedy","Muskie","Agnew","LeMay") # # result <- blackbox_transpose(TT,missing=c(98,99),dims=3,minscale=5,verbose=F) # # # ---- Useful Commands To See What is in an Object # # > length(result) # [1] 9 # > class(result) # [1] "blackbt" # > names(result) # [1] "stimuli" "individuals" "fits" "Nrow" "Ncol" # [6] "Ndata" "Nmiss" "SS_mean" "dims" # summary(result) -- shows everything # plot.blackbt(result) -- shows a one dimensional plot # # result$fits # SSE SSE.explained percent SE singular # Dimension 1 4675445 5597298 54.486889 19.61820 2032.2448 # Dimension 2 3287046 6985698 13.515369 17.39034 1194.8030 # Dimension 3 2604235 7668509 6.646824 16.47900 874.2122 # yy <- as.matrix(result$individuals[[2]]) NOTVOTE <- cbind(VAR00310) # 1. YES, VOTED # 5. NO, DIDN'T VOTE # # 7. REFUSED # 8. DK IF VOTED # 9. NA IF VOTED; NO POST-ELECTION INTERVIEW (AND NO MAIL # QUESTIONNAIRE) # # NOTVOTE -- THESE FREQUENCIES ARE FOR THE ENTIRE CROSS-SECTION WHICH INCLUDES THE # BLACK SUPPLEMENT RESPONDENTS # 1 5 7 9 # 1118 370 1 184 # VOTE <- cbind(VAR00316) # 11. VOTED FOR HUBERT HUMPHREY # 23. VOTED FOR RICHARD NIXON # 34. VOTED FOR GEORGE WALLACE # # VOTE -- THESE FREQUENCIES ARE FOR THE ENTIRE CROSS-SECTION WHICH INCLUDES THE # BLACK SUPPLEMENT RESPONDENTS # 9 10 11 22 23 34 46 49 60 61 63 64 65 66 68 69 79 91 97 99 # 5 12 466 3 489 116 1 1 7 148 119 41 3 8 34 8 2 185 24 1 # # SETUP FOR TWO DIMENSIONAL PLOT # zz <- c(yy[1:1500,2],yy[1:1500,3],VOTE[1:1500],NOTVOTE[1:1500]) dim(zz) <- c(length(yy[,1]),4) windows() plot(zz[,1],zz[,2],type="n",asp=1, main="", xlab="", ylab="", xlim=c(-3.0,3.0),ylim=c(-3.0,3.0),cex=1.2,font=2) # # Main title mtext("Basic Space Scaling 1968 Thermometers\nNixon (blue), Humphrey (red), Wallace (black)",side=3,line=1.50,cex=1.2,font=2) # x-axis title mtext("Liberal - Conservative",side=1,line=2.75,cex=1.2) # y-axis title mtext("Social/Lifestyle Issues",side=2,line=2.5,cex=1.2) # points(zz[zz[,3] == 23,1],zz[zz[,3] == 23,2],pch='N',col="blue",font=2) points(zz[zz[,3] == 11,1],zz[zz[,3] == 11,2],pch='H',col="red",font=2) points(zz[zz[,3] == 34,1],zz[zz[,3] == 34,2],pch='W',col="black",font=2) # yy <- as.matrix(result$stimuli[[2]]) # junk <- colnames(TT) # namepos <- rep(2,length(junk)) # windows() plot(yy[,2],yy[,3],type="n",asp=1, main="", xlab="", ylab="", xlim=c(-1.0,1.0),ylim=c(-1.0,1.0),cex=1.2,font=2) # # # Main title mtext("Basic Space Scaling 1968 Thermometers\nPolitical Candidate Locations",side=3,line=1.50,cex=1.2,font=2) # x-axis title mtext("Liberal - Conservative",side=1,line=2.75,cex=1.2) # y-axis title mtext("Social/Lifestyle Issues",side=2,line=2.5,cex=1.2) # points(yy[,2],yy[,3],pch=16,col="red") text(yy[,2],yy[,3], junk, pos=namepos, col="blue") # detach(data)