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")