library(rgdal)
library(RColorBrewer)
library(leaflet)
library(sf)
library(ROCR)
library(mapview)
library(tigris)
library(sp)
library(ggplot2)
library(dplyr)
library(tigris)
library(tmaptools)
library(tigris)
options(tigris_class = "sf")
options(tigris_use_cache=TRUE)
mydata<-zctas(cb=F, year=2015)
library(acs)
## Loading required package: stringr
## Loading required package: XML
##
## Attaching package: 'acs'
## The following object is masked from 'package:dplyr':
##
## combine
## The following object is masked from 'package:base':
##
## apply
library(leaflet)
#dfw <- tracts(state = 'TX', county = c('Dallas', 'Tarrant'))
#bexar<- tracts(state = 'TX', county = c('Bexar'))
# Texas zip code data
zip <- read.csv("~/Google Drive/TigrisShapeFiles/TxEstablishments_Employees.csv",stringsAsFactors = F)
tx <- dplyr::filter(zip, STATE == "TX")
stud<-read.csv("~/Google Drive/TigrisShapeFiles/grad_students.csv",stringsAsFactors = F)
# Get polygon data for TX onlyZCTA5CE10
txzips<-unique(tx$ZIP)
#mypoly <- subset(mydata, ZCTA5CE10 %in% txzips)
tx$zip<-as.character(tx$ZIP)
stud$zip<-as.character(stud$ZIP)
mdat<-geo_join(mydata, tx, by_sp="ZCTA5CE10", by_df="zip",how="inner")
st_dat<-geo_join(mydata, stud, by_sp="ZCTA5CE10", by_df="zip",how="inner")
#bexar_merged<-st_join(mdat,bexar)
#plot(mdat["ZCTA5CE10"])
pf<-mdat%>%mutate(ests=as.numeric(Establishments), emps=as.numeric(Employees))
st<-st_dat%>%mutate(st=as.numeric(students))
mapview(pf["Establishments"])
mapview(pf["Employees"])
brks<-quantile(pf$ests, probs = seq(0,1,length.out = 4), na.rm = T)
brke<-quantile(pf$emps, probs = seq(0,1,length.out = 4), na.rm = T)
breaks =unique(quantile(st$st, probs = seq(0, 1,0.2)))
pf$quart_est<-cut(pf$ests, brks, include.lowest = T)
pf$quart_emp<-cut(pf$emps, brke, include.lowest = T)
st$quart_st<-cut(st$st, breaks, include.lowest = T)
plot_p1<-pf%>%ggplot()+geom_sf(aes(fill=quart_est))+scale_fill_brewer(palette = "Blues", na.value="grey")+ggtitle(label = "Establishments", subtitle = "")+guides(fill=guide_legend(title="Establishments"))
plot_p2<-pf%>%ggplot()+geom_sf(aes(fill=quart_emp))+scale_fill_brewer(palette = "Blues", na.value="grey")+ggtitle(label = "Employees", subtitle = "")+guides(fill=guide_legend(title="Employees"))
plot_p3<-st%>%ggplot()+geom_sf(aes(fill=quart_st))+scale_fill_brewer(palette = "Greens", na.value="grey")+ggtitle(label = "Students", subtitle = "")+guides(fill=guide_legend(title="GR students"))
plot_p1

plot_p2

plot_p3

pal <- colorQuantile("Blues", NULL, n = 10)
pal1 <- colorQuantile("Green", NULL, n = 4)
pal2 <- colorBin("Greens", domain = 0:100)
pal2(runif(10, 60, 100))
## [1] "#31A354" "#006D2C" "#006D2C" "#31A354" "#006D2C" "#006D2C" "#31A354"
## [8] "#31A354" "#006D2C" "#006D2C"
popemp = paste0("<strong>", pf$ZIP, "</strong>", "</br>", pf$Employees)
popests = paste0("<strong>", pf$ZIP, "</strong>", "</br>", pf$Establishments)
popstud = paste0("<strong>", st$zip, "</strong>", "</br>", st$st)
pf$emp2 =((pf$Employees - min(pf$Employees))/(max(pf$Employees)-min(pf$Employees))*33)
pf$est2 =((pf$Establishments - min(pf$Establishments))/(max(pf$Establishments)-min(pf$Establishments))*33)
st$st2 =((st$students - min(st$students))/(max(st$students)-min(st$students))*33)
Emp <- leaflet(pf) %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons( data = pf, fillColor = ~pal(emp2),
fillOpacity = 1,
weight = 3,
color = "white",
popup = popemp
) %>%
addLegend("bottomright", pal = colorNumeric( palette = pal, domain = pf$Employees ), values = ~Employees,
title = "Number of Employees",
opacity = 1)
Emp
Est <- leaflet(pf) %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons( data = pf, fillColor = ~pal(est2),
fillOpacity = 1,
weight = 3,
color = "white",
popup = popests
) %>%
addLegend("bottomright", pal = colorNumeric( palette = pal, domain = pf$Establishments ), values = ~Establishments,
title = "Number of Establishments",
opacity = 1)
Est
bins <- c(0, 10, 20, 50, 100, 200, Inf)
bin <- c(0, 3, 5, 10, 15, 20, 25,30,40, 50,60,70, 100, Inf)
pall <- colorBin("Greens", domain = st$st, bins = bin)
s<-leaflet(st)%>% addPolygons(data = st,
fillColor = ~pall(st),
weight = 2,
opacity = 1,
color = "white",
dashArray = "3",
fillOpacity = 0.7,
highlight = highlightOptions(
weight = 5,
color = "#666",
dashArray = "",
fillOpacity = 0.7,
bringToFront = TRUE))%>%
addLegend(pal = pall, values = ~st, title = "Number of Students",
opacity = 0.7, position = "bottomright")
s
st <- leaflet(st) %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons( data = st, fillColor = ~pall(st),
fillOpacity = 1,
weight = 3,
color = "white",
popup = popstud
) %>%
addLegend(pal = pall, values = ~st, title = "Number of Students",
opacity = 1, position = "bottomright")
st