Code
########## 20171011 Use State, Year to create a map. ################## # geocode("RUC") library(ggmap) library(ggplot2) library(fiftystater) # data("fifty_states") # this line is optional due to lazy data loading map = fifty_states rm(list=setdiff(ls(), c("map", "event"))) # event$STATEid = NA event = within(event,{ STATEid [ STATE=="AL"]="alabama"#1 STATEid [ STATE=="AK"]="alaska"#2 STATEid [ STATE=="AZ"]="arizona"#3 STATEid [ STATE=="AR"]="arkansas"#4 STATEid [ STATE=="CA"]="california"#5 STATEid [ STATE=="CO"]="colorado"#6 STATEid [ STATE=="CT"]="connecticut"#7 STATEid [ STATE=="DE"]="delaware"#8 STATEid [ STATE=="DC"]="district of columbia"#9 STATEid [ STATE=="FL"]="florida"#10 STATEid [ STATE=="GA"]="georgia"#11 STATEid [ STATE=="HI"]="hawaii"#12 STATEid [ STATE=="ID"]="idaho"#13 STATEid [ STATE=="IL"]="illinois"#14 STATEid [ STATE=="IN"]="indiana"#15 STATEid [ STATE=="IA"]="iowa"#16 STATEid [ STATE=="KS"]="kansas"#17 STATEid [ STATE=="KY"]="kentucky"#18 STATEid [ STATE=="LA"]="louisiana"#19 STATEid [ STATE=="ME"]="maine"#20 STATEid [ STATE=="MD"]="maryland"#21 STATEid [ STATE=="MA"]="massachusetts"#22 STATEid [ STATE=="MI"]="michigan"#23 STATEid [ STATE=="MN"]="minnesota"#24 STATEid [ STATE=="MS"]="mississippi"#25 STATEid [ STATE=="MO"]="missouri"#26 STATEid [ STATE=="MT"]="montana"#27 STATEid [ STATE=="NE"]="nebraska"#28 STATEid [ STATE=="NV"]="nevada"#29 STATEid [ STATE=="NH"]="new hampshire"#30 STATEid [ STATE=="NJ"]="new jersey"#31 STATEid [ STATE=="NM"]="new mexico"#32 STATEid [ STATE=="NY"]="new york"#33 STATEid [ STATE=="NC"]="north carolina"#34 STATEid [ STATE=="ND"]="north dakota"#35 STATEid [ STATE=="OH"]="ohio"#36 STATEid [ STATE=="OK"]="oklahoma"#37 STATEid [ STATE=="OR"]="oregon"#38 STATEid [ STATE=="PA"]="pennsylvania"#39 STATEid [ STATE=="RI"]="rhode island"#40 STATEid [ STATE=="SC"]="south carolina"#41 STATEid [ STATE=="SD"]="south dakota"#42 STATEid [ STATE=="TN"]="tennessee"#43 STATEid [ STATE=="TX"]="texas"#44 STATEid [ STATE=="UT"]="utah"#45 STATEid [ STATE=="VT"]="vermont"#46 STATEid [ STATE=="VA"]="virginia"#47 STATEid [ STATE=="WA"]="washington"#48 STATEid [ STATE=="WV"]="west virginia"#49 STATEid [ STATE=="WI"]="wisconsin"#50 STATEid [ STATE=="WY"]="wyoming"#51 }) # event$STATE = as.factor(event$STATE) event$STATEid = as.factor(event$STATEid) # map$id = as.factor(map$id) p = ggplot() + geom_map(data=map, map=map, aes(x=long, y=lat, map_id=id, group=group), # note here. id has to be equal with id; group can change fill="#ffffff", color="black")+ expand_limits(x = fifty_states$long, y = fifty_states$lat) + coord_map() + #scale_x_continuous(breaks = NULL) + #scale_y_continuous(breaks = NULL) + labs(x = "LONGITUDE", y = "LATITUDE") p ########## violence################### library(qdap) dist_tab(event$viold) event$viold = as.numeric(as.character(event$viold)) # ggplot(event,aes(factor(year),fill=factor(viold))) + geom_bar() # ggplot(event,aes(x=year, y=viold)) + geom_bar(stat = "summary", fun.y="mean") # ggplot(event,aes(x=year, y=CASE)) + geom_bar(stat = "summary", fun.y="sum") event_state = aggregate(event$viold, by=list(STATE=event$STATEid, YEAR =event$year), FUN=sum) # event_state1960 = event_state [event_state$YEAR==1960,] # event_state1960 = na.omit(event_state1960) # event_state1960 = merge(event_state1960, map1, by=c("STATE"), all=F) cnames = aggregate(cbind(long, lat) ~ id, data = map, FUN = function(x) mean(range(x))) cnames$angle = 0 # data = merge(event_state, cnames, by.x="STATE", by.y="id", all.x=T) data$X=data$x+1 data$radius= log(data$X) library(scatterpie) windows() ggplot() + geom_map(data=map, map=map, aes(x=long, y=lat, map_id=id, group=group), # note here. id has to be equal with id; group can change fill="#ffffff", color="black")+ geom_text(data=data, aes(long, lat, label = STATE), size=3, color="black")+ geom_scatterpie(data=data [data$YEAR=="1963",], aes(r=radius, x=long, y=lat), col=c("X")) ggplot() + geom_map(data=map, map=map, aes(x=long, y=lat, map_id=id, group=group), # note here. id has to be equal with id; group can change fill="#ffffff", color="black")+ geom_point(aes(x=LON, y=LAT, show_guide = TRUE, colour=form1), data=event[event$LON> -125 &event$LON< -55 &event$LAT<55&event$LAT>25,], alpha=.7, na.rm = T) + scale_color_gradient(low="beige", high="red")+ ggtitle("USA, 1960, Violent Cases")+ theme_grey() + theme(plot.title = element_text(hjust = 0.5)) |