Plotting risk perceptions vs. political orientation & science comprehension Steve Genco August 19,...

18
Plotting risk perceptions vs. political orientation & science comprehension Steve Genco August 19, 2015

Transcript of Plotting risk perceptions vs. political orientation & science comprehension Steve Genco August 19,...

Plotting risk perceptions vs. political orientation & science comprehension

Steve GencoAugust 19, 2015

R codeDefine variables

## load datasetload("C:/Users/User/Dropbox/R code/kahan/kahan.risk.RData")

#set variableslibcon <- Kahan.risk$id..Zconservrepubgwrisk <- Kahan.risk$GWRISKnukerisk <- Kahan.risk$NUKERISKscicomp <- Kahan.risk$scicomp_i

## jitter variables## set randomizing seed so jitters always produce same pointsset.seed(1)jlibcon <- jitter(libcon)jjlibcon <- jitter(libcon, amount=0.5)jjscicomp <- jitter(scicomp, amount=0.5)jgwrisk <- jitter(gwrisk)jnukerisk <- jitter(nukerisk)

## fit regression linesgwfit <- lm(gwrisk ~ libcon)nukefit <- lm(nukerisk ~ libcon)gwfit.sci <- lm(gwrisk ~ scicomp)nukefit.sci <- lm(nukerisk ~ scicomp)

## cut libcon into 8 bins from -2 to 2 by 0.5libconbin <- cut(libcon, breaks=seq(-2,2,by=0.5))table (libconbin, gwrisk)table (libconbin,nukerisk)

## cut scicomp into 10 bins from -2.5 to 2,5 by 0.5scicompbin <- cut(scicomp,breaks=seq(-2.5,2.5,by=0.5))table (scicompbin, gwrisk)table (scicompbin, nukerisk)

## set palette to semi-transparent rainbowpalette(adjustcolor(rainbow(8), alpha=0.5))

R codegwrisk by libcon

## libcon by gwrisk## pch = point char## bty = "l" = show left and bottom axes## col = color assignment, add 1 to indicator var because rainbow(0) is white## change col to "white" to create blank frame for symbols only plot## yaxt = 'n' = turn off y-axis (add later with symbol overlay)plot(jjlibcon, jgwrisk, pch=20, bty="l", col = gwrisk+1, yaxt = 'n', main="Liberal-Conservative by Global Warming Risk")## axis puts ticks at 0 thru 7axis(side = 2, at = seq(0,7))#abline(gwfit, lwd=2, col="blue")

## create data.frame for bubbles -- libcon, gwrisksize <- table (gwrisk, libconbin)## flatten the table into a vectorcircle.size <- c(size)## create x-axis points in middle of each binlibcon.pts <- seq(-1.75,1.75,by=0.5)## create x-var for symbol placement data.framex.libcon <- rep(libcon.pts, c(8,8,8,8,8,8,8,8))## create y-axis points for each level of y-vargwrisk.pts <- seq(0,7)## create y-var for symbol placement data.framey.risk <- rep(gwrisk.pts,8)## create new data.frame for overlaying labels on current plotcircles.libcon.gw <- data.frame(x.libcon, y.risk+1, circle.size)## overlay circles on current jitter plot## circle.size sizes circles relative to N at that (x,y) point## inches controls scale of circles, default is inches=1## fg = foreground color (line) for circles## bg = background color (fill) for circles, assign based on y.risk+1## add=TRUE overlays symbols on current plot, set to FALSE or remove for new plotsymbols(x.libcon, y.risk, circle=circle.size, inches=0.5, fg="white", bg=y.risk+1, add=TRUE)## add the fit lineabline(gwfit, lwd=2, col="blue")

Jitter plotgwrisk by libcon

Bubble plotgwrisk by libcon

Combined jitter-bubble plotgwrisk by libcon

R codenukerisk by libcon

## libcon by nukeriskplot(jjlibcon, jnukerisk, pch=20, bty="l", col = nukerisk+1, yaxt = 'n', main="Liberal-Conservative by Nuclear Power Risk")## axis puts ticks at 0 thru 7axis(side = 2, at = seq(0,7))#abline(nukefit, lwd=2, col="blue")

## create data.frame for bubbles -- libcon, nukerisksize <- table (nukerisk, libconbin)circle.size <- c(size)libcon.pts <- seq(-1.75,1.75,by=0.5)x.libcon <- rep(libcon.pts, c(8,8,8,8,8,8,8,8))nukerisk.pts <- seq(0,7)y.risk <- rep(nukerisk.pts,8)circles.libcon.nuke <- data.frame(x.libcon, y.risk, circle.size)#overlay circles on current jitter plotsymbols(x.libcon, y.risk, circle=circle.size, inches=0.5, fg="white", bg=y.risk+1, add=TRUE)abline(nukefit, lwd=2, col="blue")

Jitter plotnukerisk by libcon

Bubble plotnukerisk by libcon

Combined jitter-bubble plotnukerisk by libcon

R codegwrisk by scicomp

## scicomp by gwriskplot(jjscicomp, jgwrisk, pch=20, bty="l", col = gwrisk+1, yaxt = 'n', main="Science Comprehension by Global Warming Risk")## axis puts ticks at 0 thru 7axis(side = 2, at = seq(0,7))#abline(gwfit.sci, lwd=2, col="blue")

## create data.frame for bubbles -- scicomp, gwrisksize <- table (gwrisk, scicompbin)circle.size <- c(size)scicomp.pts <- seq(-2.25,2.25,by=0.5)x.scicomp <- rep(scicomp.pts, c(8,8,8,8,8,8,8,8,8,8))gwrisk.pts <- seq(0,7)y.risk <- rep(gwrisk.pts,10)circles.scicomp.gw <- data.frame(x.scicomp, y.risk, circle.size)#overlay circles on current jitter plotsymbols(x.scicomp, y.risk, circle=circle.size, inches=0.5, fg="white", bg=y.risk+1, add=TRUE)abline(gwfit.sci, lwd=2, col="blue")

Jitter plotgwrisk by scicomp

Bubble plotgwrisk by scicomp

Combined jitter-bubble plotgwrisk by scicomp

R codenukerisk by scicomp

## scicomp by nukeriskplot(jjscicomp, jnukerisk, pch=20, bty="l", col = nukerisk+1, yaxt = 'n', main="Science Comprehension by Nuclear Power Risk")## axis puts ticks at 0 thru 7axis(side = 2, at = seq(0,7))#abline(nukefit.sci, lwd=2, col="blue")

## create data.frame for bubbles -- scicomp, nukerisksize <- table (nukerisk, scicompbin)circle.size <- c(size)scicomp.pts <- seq(-2.25,2.25,by=0.5)x.scicomp <- rep(scicomp.pts, c(8,8,8,8,8,8,8,8,8,8))nukerisk.pts <- seq(0,7)y.risk <- rep(nukerisk.pts,10)circles.scicomp.nuke <- data.frame(x.scicomp, y.risk, circle.size)#overlay circles on current jitter plotsymbols(x.scicomp, y.risk, circle=circle.size, inches=0.5, fg="white", bg=y.risk+1, add=TRUE)abline(nukefit.sci, lwd=2, col="blue")

Jitter plotnukerisk by scicomp

Bubble plotnukerisk by scicomp

Combined jitter-bubble plotnukerisk by scicomp