The blog Offensive Politics has done some in-depth analysis of the recent Senate special-election upset in Massachusetts, comparing the results of victorious Republican candidate Scott Brown to those of the unsuccessful Republican Presidential candidate John McCain in 2008. It's pretty clear that Brown out-performed expectations with Democratic voters, but this chart of the change in Democratic voters from 2008 to 2010 makes the contrast stark:
You can find more charts, and the data and R code to reproduce them, at the link below.
Update 10:56: Political scientist Boris Shor has also analyzed this election, concluding that Scott Brown is more liberal than current Senate Republican Olympia Snowe and congressional Republican challenger Dede Scozzafava (who lost her primary amongst claims she was too liberal). Incidentally, Boris relies on the big-data capabilities of REvolution R Enterprise for Windows to make these analyses possible.
Offensive Politics: Mapping MA election results


Yikes, what a misleading colour scale. They should have used equal bin sizes and a three colour scale with white as the middle colour indicating no change.
Posted by: Mike Lawrence | January 25, 2010 at 11:27
This map can be improved by making the near-zero values a neutral color, such as white. Also, bins on either side of zero could be given equal sizes in terms of their percentage change. This map looks artificially damning for democrats based on the color and the bin sizes.
Posted by: Erik Erhardt | January 25, 2010 at 11:41
Thirding the dishonest scale and key. The other maps lack a neutral colour for neutral ± error.
Posted by: Tobu | January 25, 2010 at 14:23
Agree with comments about the scale. Here is a map that shows the difference in number of votes in each town between Brown and Coakley:
If positive, it is colored red, if negative blue. These are quantiles, and the saturation from white("near neutral") to red or blue increases in even steps. This accounts for more than the conventional town by town analysis of percent win, as it also takes into account relative population size of the towns.
The analysis was done in R, but the map was done with QuantumGIS (open source mapping package) which is quick and easy.
Of note, the maps above are not mapped to a projection and appear distorted. This is an essential step in mapping, and requires some understanding of map projections.
Finally, the shapefile that these maps were made with somehow included water in the town boundaries, making for a very distorted Martha's Vineyard, Cuttyhunk and Woods Hole. They are properly depicted on my map.
Posted by: Paul Bleicher | January 25, 2010 at 18:14
Thanks for the post david, and thanks to the commenters for your helpful suggestions. I've reimplemented the 3 maps using some of your suggestions and I believe the output is stronger: http://offensivepolitics.net/blog/?p=275
thanks-
Posted by: Jason H | January 27, 2010 at 13:41
The colors are better and more accurate to the results. However, the distorted map could be much improved. Try replacing your shp definition with:
shp <- readShapeSpatial('tl_2009_25_cousub', CRS("+proj=longlat +datum=NAD27"))
Also, I think you would be better off using the official US Census MA map, which would clear up the mess at Martha's Vineyard. You can get that here:
http://www.mass.gov/mgis/cen2000_towns.htm
You will need to use tolower() and rename the variable from "NAME" to "Town" and edit the data slightly to use it with your data.
The end result will be much improved, I believe.
Posted by: Paul Bleicher | January 27, 2010 at 14:29