Mapping Trials

Using the spatial visualization techniques, explore this data set on Pennsylvania hospitals (http://www.arcgis.com/home/item.html?id=eccee5dfe01e4c4283c9be0cfc596882). Create a series of 5 maps that highlight spatial differences in hospital service coverage for the state of PA.

# Data
library(foreign)
dat <- read.dbf("E:\\Harrisburg courses\\sem 6-Fall 2017\\Data Visualization\\lecture9\\pennsylv\\pennsylv.dbf")  # change this to connect to your version

names(dat)
##   [1] "acc_trauma" "air_amb"    "als"        "arc_street" "arc_zone"  
##   [6] "bas_ls"     "bassinets"  "bb_id"      "bc_beds"    "bc_sus_bed"
##  [11] "beds_sus"   "birthing_r" "bone_marro" "burn_car"   "burn_care" 
##  [16] "card_beds"  "card_surge" "card_sus_b" "cardiac"    "cardiac_ca"
##  [21] "cardio_reh" "chemo"      "city"       "clin_lab"   "clin_psych"
##  [26] "county"     "countyname" "ct_scan"    "cty_key"    "cystoscopi"
##  [31] "deliv_rms"  "dental"     "detox_alc_" "diag_radio" "diag_xray" 
##  [36] "doh_hosp"   "doh_phone"  "emer_dept"  "endoscopie" "fac_id"    
##  [41] "facility"   "flu_old"    "fred_con_1" "fred_conta" "fred_email"
##  [46] "fred_fax"   "fred_hosp"  "fred_pager" "fred_phone" "gamma_knif"
##  [51] "gen_outpat" "gene_counc" "heart_tran" "helipad"    "hemodial_c"
##  [56] "hemodial_m" "hosp_id"    "hospice"    "hyper_cham" "icu"       
##  [61] "icu_beds"   "icu_sus_be" "inpat_flu_" "inpat_pneu" "kidney_tra"
##  [66] "labor_rms"  "lic_beds"   "lic_dent"   "lic_dos"    "lic_mds"   
##  [71] "lic_pod"    "linear_acc" "lithotrips" "liver_tran" "loc_method"
##  [76] "ltc"        "mcd"        "mcd_key"    "mcd_name"   "medical"   
##  [81] "mob_ccu"    "mob_icu"    "mri"        "ms1"        "neo2_beds" 
##  [86] "neo2_sus_b" "neo3_beds"  "neo3_sus_b" "neuro_surg" "neurology" 
##  [91] "obs_gyn"    "occ_ther"   "optometry"  "organ_bank" "ped_trauma"
##  [96] "pediatric"  "pet"        "pharmacy"   "phys_med"   "phys_ther" 
## [101] "podiatry"   "providerid" "psych"      "psych_inpa" "reg_trauma"
## [106] "resp_ther"  "so_flu_65u" "social_wor" "speech_pat" "street"    
## [111] "surgical"   "surgical_s" "thera_radi" "typ_org"    "typ_serv"  
## [116] "ultrasound" "x"          "y"          "zip"
library(ggmap)
library(ggplot2)

Map 1: Hospitals locations in Pennsylvania State

qmplot(x, y, data = dat, colour =I('red'), size= I(3), darken = .1)

Map 2: Hospitals in Pennsylavania providing Ultrasound services

hospital <-get_map(location="Pennsylvania", zoom=7,maptype="terrain", source='google',color='color', force=TRUE)

ggmap(hospital)+ stat_density2d(aes(x, y , colour = ultrasound),
    size = 2, bins = 5, alpha = 3/4, data = dat) +
   scale_colour_discrete("Ultrasound", labels = c("Yes","No","NA")) +
   theme(
     legend.text = element_text(size = 15, vjust = .5),
     legend.title = element_text(size = 15,face="bold"),
     legend.key.size = grid::unit(1.8,"lines")
   )

Map 3: Hospitals with emergency department and icu beds around Philadelphia area

map <- get_googlemap('Philadelphia', zoom = 11, scale = 2, maptype = "roadmap")
ggmap(map, extent = 'panel') + geom_point(aes(x, y, colour = emer_dept, size = icu_beds), data = dat)

Map 4: Hospitals in Pennsylavania offering MRI services using density plot

library(plyr)
a <- table(dat$city,dat$mri)
ad <- data.frame(a)
ad1<- ad[151:300,]
ad1 <- subset(ad1, select = -c(Var2) )

names(ad1)[1]<-paste("address")
ad1$address <- paste(ad1$address, 'Pennsylvania', 'United States',sep=",")
ad1 <- ad1[order(-ad1$Freq),]

# Highest occurence 5
# head(ad1, 5)

library(httr)
library(rjson)

data <- paste0("[",paste(paste0("\"",ad1$address,"\""),collapse=","),"]")
url  <- "http://www.datasciencetoolkit.org/street2coordinates"
response <- POST(url,body=data)
json     <- fromJSON(content(response,type="text"))

geocode  <- as.data.frame(
  do.call(rbind,lapply(json,
                       function(x) c(address=x$address,lon=x$longitude,lat=x$latitude))))

geocode$address <- rownames(geocode)

g <- merge(ad1, geocode,by="address") 

PA <- get_map("Pennsylvania", zoom = 7, source='google',color='bw', force=TRUE, maptype = "terrain")


ggmap(PA) + geom_point(aes(x=lon, y=lat, colour=Freq), data=g, alpha=.5, na.rm = T, size = g$Freq*0.8)  + 
  scale_color_gradient(low="blue", high="red")

Map 5: Hospitals with Burn care unit in PA state

PA_burn <- get_map("Pennsylvania", zoom = 7, source='google',color='color', force=TRUE, maptype = "roadmap")
ggmap(PA_burn)+stat_bin2d(aes(x, y, colour = burn_car, fill = burn_car),size = .5, bins = 35, alpha = 2/4, data = dat) +
   scale_colour_discrete("Burn Care",
     labels = c("Yes","No","NA"),
     guide = FALSE) +
   scale_fill_discrete("Burn Care", labels = c("Yes","No","NA")) +
   theme(
     legend.text = element_text(size = 15, vjust = .5),
     legend.title = element_text(size = 15,face="bold"),
     legend.key.size = grid::unit(1.8,"lines")
   )

Map 6: Hospitals offering services for Heart, Kidney and Liver transplants in PA state

tran<-subset(dat, heart_tran == "Y" & liver_tran == "Y" & kidney_tra == "Y")
qmplot(x, y, data = tran, colour = I('red'), size= I(1), darken = .1, extent = "panel", main = "Hospitals with transplanation service for Heart, Kidney and Liver")