rm(list=ls())
list.of.packages <- c("tidyverse", "rgeos", "sf", "raster", "cartography", "SpatialPosition")
new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
library(tidyverse)
## -- Attaching packages ------------- tidyverse 1.3.0 --
## v ggplot2 3.3.0 v purrr 0.3.3
## v tibble 2.1.3 v dplyr 0.8.5
## v tidyr 1.0.2 v stringr 1.4.0
## v readr 1.3.1 v forcats 0.5.0
## -- Conflicts ---------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(readxl)
library(rgeos)
## Loading required package: sp
## rgeos version: 0.5-2, (SVN revision 621)
## GEOS runtime version: 3.6.1-CAPI-1.10.1
## Linking to sp version: 1.4-1
## Polygon checking: TRUE
library(raster)
##
## Attaching package: 'raster'
## The following object is masked from 'package:dplyr':
##
## select
## The following object is masked from 'package:tidyr':
##
## extract
library(sf)
## Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3
library(cartography)
library(SpatialPosition)
nbi <- read_excel("C:/Users/Brian/Desktop/Daniela/Cartografía temática/NB1_Boyacá.xlsx")
head(nbi)
## # A tibble: 6 x 12
## `COD-DEP` DEPTO COD_MUN CODIGO MUNICIPIO NBI MISERIA VIVIENDA SERVICIOS
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 15 BOYA~ 001 15001 TUNJA 3.60 0.294 0.333 0.237
## 2 15 BOYA~ 022 15022 ALMEIDA 7.46 0.759 1.58 0.822
## 3 15 BOYA~ 047 15047 AQUITANIA 12.9 1.67 1.71 3.61
## 4 15 BOYA~ 051 15051 ARCABUCO 8.94 0.477 0.459 0.184
## 5 15 BOYA~ 087 15087 BELÉN 7.33 0.697 0.341 1.02
## 6 15 BOYA~ 090 15090 BERBEO 15.0 2.70 5.76 1.73
## # ... with 3 more variables: HACINAMIENTO <dbl>, INASISTENCIA <dbl>,
## # ECONOMIA <dbl>
nbi %>%
slice(which.max(NBI)) -> max_nbi
max_nbi
## # A tibble: 1 x 12
## `COD-DEP` DEPTO COD_MUN CODIGO MUNICIPIO NBI MISERIA VIVIENDA SERVICIOS
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 15 BOYA~ 223 15223 CUBARÁ 60.6 54.0 55.7 53.1
## # ... with 3 more variables: HACINAMIENTO <dbl>, INASISTENCIA <dbl>,
## # ECONOMIA <dbl>
nbi %>%
slice(which.min(NBI)) -> min_nbi
min_nbi
## # A tibble: 1 x 12
## `COD-DEP` DEPTO COD_MUN CODIGO MUNICIPIO NBI MISERIA VIVIENDA SERVICIOS
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 15 BOYA~ 238 15238 DUITAMA 3.36 0.122 0.283 0.126
## # ... with 3 more variables: HACINAMIENTO <dbl>, INASISTENCIA <dbl>,
## # ECONOMIA <dbl>
nbi %>%
arrange(desc(NBI)) -> desc_nbi
desc_nbi
## # A tibble: 123 x 12
## `COD-DEP` DEPTO COD_MUN CODIGO MUNICIPIO NBI MISERIA VIVIENDA SERVICIOS
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 15 BOYA~ 223 15223 CUBARÁ 60.6 54.0 55.7 53.1
## 2 15 BOYA~ 533 15533 PAYA 59.4 32.0 37.9 31.8
## 3 15 BOYA~ 183 15183 CHITA 42.2 12.0 10.2 11.2
## 4 15 BOYA~ 580 15580 QUÍPAMA 40.4 9.25 26.5 8.66
## 5 15 BOYA~ 377 15377 LABRANZA~ 36.5 14.2 19.8 13.7
## 6 15 BOYA~ 368 15368 JERICÓ 35.6 11.0 4.35 15.7
## 7 15 BOYA~ 550 15550 PISBA 34.1 10.9 10.7 10.4
## 8 15 BOYA~ 442 15442 MARIPÍ 32.0 7.12 11.2 6.54
## 9 15 BOYA~ 244 15244 EL COCUY 30.1 7.39 8.76 2.13
## 10 15 BOYA~ 332 15332 GÜICÁN 29.3 21.4 21.4 20.7
## # ... with 113 more rows, and 3 more variables: HACINAMIENTO <dbl>,
## # INASISTENCIA <dbl>, ECONOMIA <dbl>
Gráfico 1. Fuente Dane.
Gráfico 2. Fuente Dane.
Gráfico 3. Fuente Dane.
munic <- st_read("C:/Users/Brian/Desktop/Daniela/Boyacá/Marco Geoestadístico Boyacá/15_BOYACA/ADMINISTRATIVO/MGN_MPIO_POLITICO.shp")
## Reading layer `MGN_MPIO_POLITICO' from data source `C:\Users\Brian\Desktop\Daniela\Boyacá\Marco GeoestadÃstico Boyacá\15_BOYACA\ADMINISTRATIVO\MGN_MPIO_POLITICO.shp' using driver `ESRI Shapefile'
## Simple feature collection with 123 features and 9 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -74.66496 ymin: 4.655196 xmax: -71.94885 ymax: 7.055557
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
head(munic$MPIO_CNMBR)
## [1] TUNJA ALMEIDA AQUITANIA ARCABUCO BELÉN BERBEO
## 123 Levels: ALMEIDA AQUITANIA ARCABUCO BELÉN BERBEO BETÉITIVA BOAVITA ... ZETAQUIRÁ
nbi_munic = left_join(munic, nbi, by=c("MPIO_CCDGO"="CODIGO"))
## Warning: Column `MPIO_CCDGO`/`CODIGO` joining factor and character vector,
## coercing into character vector
nbi_munic %>%
dplyr::select(MUNICIPIO, MPIO_CCDGO, NBI) -> check_nbi_munic
head(check_nbi_munic)
## Simple feature collection with 6 features and 3 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -73.51402 ymin: 4.904038 xmax: -72.65243 ymax: 6.098348
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## MUNICIPIO MPIO_CCDGO NBI geometry
## 1 TUNJA 15001 3.596644 POLYGON ((-73.34014 5.58308...
## 2 ALMEIDA 15022 7.458913 POLYGON ((-73.36793 5.01349...
## 3 AQUITANIA 15047 12.864358 POLYGON ((-72.76242 5.63856...
## 4 ARCABUCO 15051 8.940701 POLYGON ((-73.50487 5.84347...
## 5 BELÉN 15087 7.334062 POLYGON ((-72.91692 6.08612...
## 6 BERBEO 15090 15.048544 POLYGON ((-73.0677 5.27048,...
nbi_munic_new <- st_transform(nbi_munic, crs = 3116)
mun.osm <- getTiles(
x = nbi_munic_new,
type = "OpenStreetMap",
zoom = 8,
cachedir = TRUE,
crop = FALSE
)
#establecer márgenes
opar <- par(mar = c(0,0,1.2,0))
# trazar mosaicos osm
tilesLayer(x = mun.osm)
# trazar municipios (solo se trazan las fronteras)
plot(st_geometry(nbi_munic_new), col = NA, border = "grey", add=TRUE)
# trazar NBI
propSymbolsLayer(
x = nbi_munic_new,
var = "NBI",
inches = 0.15,
col = "brown4",
legend.pos = "topright",
legend.title.txt = "Total NBI"
)
# diseño
layoutLayer(title = " Distribución NBI en Boyacá",
sources = "Fuentes: DANE, 2018\n© OpenStreetMap",
author = " Daniela Quiroga ",
frame = TRUE, north = FALSE, tabtitle = TRUE)
# Flecha norte
north(pos = "topleft")
# establecer márgenes
opar <- par(mar = c(0,0,1.2,0))
# establecer el color de fondo de la figura
par(bg="grey90")
# trazar municipios (solo se traza el color de fondo)
plot(st_geometry(nbi_munic_new), col = NA, border = NA, bg = "#aadaff")
# Graficar NBI
choroLayer(
x = nbi_munic_new,
var = "NBI",
method = "geom",
nclass=5,
col = carto.pal(pal1 = "harmo.pal", n1 = 5),
border = "white",
lwd = 0.5,
legend.pos = "right",
legend.title.txt = "NBI",
add = TRUE
)
# diseño
layoutLayer(title = "NBI Distribución en Boyacá",
sources = "Fuente: DANE, 2018",
author = "Daniela Quiroga",
frame = TRUE, north = TRUE, tabtitle = TRUE, col="black")
# Flecha norte
north(pos = "topleft")
nbi_munic_2 <- dplyr::mutate(nbi_munic_new, pobreza = ifelse(MISERIA > 20, "Extrema",
ifelse(HACINAMIENTO > 5, "Alta", "Intermedia")))
head(nbi_munic_2)
## Simple feature collection with 6 features and 21 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: 1062406 ymin: 1034076 xmax: 1157943 ymax: 1166250
## epsg (SRID): 3116
## proj4string: +proj=tmerc +lat_0=4.596200416666666 +lon_0=-74.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
## DPTO_CCDGO MPIO_CCDGO MPIO_CNMBR MPIO_CRSLC MPIO_NAREA
## 1 15 15001 TUNJA 1541 119.68957
## 2 15 15022 ALMEIDA 1908 57.67212
## 3 15 15047 AQUITANIA 1789 942.14660
## 4 15 15051 ARCABUCO 1856 137.89859
## 5 15 15087 BELÉN 1756 163.08822
## 6 15 15090 BERBEO Ordenanza 28 de Abril 9 de 1913 58.01301
## MPIO_NANO DPTO_CNMBR Shape_Leng Shape_Area COD-DEP DEPTO COD_MUN MUNICIPIO
## 1 2017 BOYACÁ 0.5723744 0.009766301 15 BOYACÁ 001 TUNJA
## 2 2017 BOYACÁ 0.3484692 0.004701759 15 BOYACÁ 022 ALMEIDA
## 3 2017 BOYACÁ 1.8003115 0.076843504 15 BOYACÁ 047 AQUITANIA
## 4 2017 BOYACÁ 0.7527090 0.011256738 15 BOYACÁ 051 ARCABUCO
## 5 2017 BOYACÁ 0.6293489 0.013314920 15 BOYACÁ 087 BELÉN
## 6 2017 BOYACÁ 0.4291743 0.004730850 15 BOYACÁ 090 BERBEO
## NBI MISERIA VIVIENDA SERVICIOS HACINAMIENTO INASISTENCIA ECONOMIA
## 1 3.596644 0.2936770 0.3326341 0.2373389 0.9835181 0.6209170 1.769853
## 2 7.458913 0.7585335 1.5802781 0.8217446 1.3274336 1.2010114 3.286979
## 3 12.864358 1.6738817 1.7099567 3.6147186 3.4632035 1.4357864 4.523810
## 4 8.940701 0.4773270 0.4589682 0.1835873 2.2948412 4.3143015 2.166330
## 5 7.334062 0.6965310 0.3414368 1.0243103 2.0349631 0.5736138 4.110899
## 6 15.048544 2.7045770 5.7558946 1.7337032 1.0402219 1.3176144 8.460472
## geometry pobreza
## 1 POLYGON ((1081699 1109184, ... Intermedia
## 2 POLYGON ((1078692 1046187, ... Intermedia
## 3 POLYGON ((1145704 1115432, ... Intermedia
## 4 POLYGON ((1063418 1137961, ... Intermedia
## 5 POLYGON ((1128481 1164899, ... Intermedia
## 6 POLYGON ((1111945 1074654, ... Intermedia
library(sf)
library(cartography)
# Establecer márgenes
opar <- par(mar = c(0,0,1.2,0))
# Trazar los municipios
plot(st_geometry(nbi_munic_2), col="#f2efe9", border="#b38e43", bg = "#aad3df",
lwd = 0.5)
# Trazar símbolos con coloración coropleta
propSymbolsTypoLayer(
x = nbi_munic_2,
var = "NBI",
inches = 0.3,
symbols = "square",
border = "white",
lwd = .5,
legend.var.pos = "topright",
legend.var.title.txt = "NBI",
var2 = "pobreza",
legend.var2.values.order = c("Extrema", "Alta",
"Intermedia"),
col = carto.pal(pal1 = "multi.pal", n1 = 3),
legend.var2.pos = "top",
legend.var2.title.txt = "Pobreza"
)
# Diseño
layoutLayer(title="NBI Distribución en Boyacá",
author = "Daniela Quiroga",
sources = "Fuente: DANE, 2018",
scale = 1, tabtitle = TRUE, frame = TRUE)
# Flecha norte
north(pos = "topleft")
par(opar)
library(sf)
library(cartography)
# Establecer márgenes
opar <- par(mar = c(0,0,1.2,0))
# Establecer color de fondo de figura
par(bg="grey50")
# Trazar municipios
plot(st_geometry(nbi_munic_2), col = "#e4e9de", border = "darkseagreen4",
bg = "grey90", lwd = 0.5)
# Trazar NBI
choroLayer(
x = nbi_munic_new,
var = "NBI",
method = "geom",
nclass=5,
col = carto.pal(pal1 = "harmo.pal", n1 = 5),
border = "white",
lwd = 0.5,
legend.pos = "right",
legend.title.txt = "NBI",
add = TRUE
)
# Trazar etiquetas
labelLayer(
x = nbi_munic_2,
txt = "MUNICIPIO",
col= "white",
cex = 0.4,
font = 4,
halo = TRUE,
bg = "grey25",
r = 0.1,
overlap = FALSE,
show.lines = FALSE
)
# Diseño del mapa
layoutLayer(
title = "Municipios de Boyacá",
sources = "FUENTE: DANE, 2018",
author = "Daniela Quiroga",
frame = TRUE,
north = TRUE,
tabtitle = TRUE,
theme = "taupe.pal"
)
crops2018 <- read_excel("C:/Users/Brian/Desktop/Daniela/Agricultura/EVA_Boyaca_3.xlsx")
head(crops2018)
## # A tibble: 6 x 14
## COD_DEP DEPARTAMENTO COD_MUN MUNICIPIO GRUPO_DE_CULTIVO SUBGRUPO_DE_CUL~
## <dbl> <chr> <dbl> <chr> <chr> <chr>
## 1 15 BOYACA 15879 VIRACACHA HORTALIZAS ACELGA
## 2 15 BOYACA 15759 SOGAMOSO HORTALIZAS ACELGA
## 3 15 BOYACA 15600 RAQUIRA FRUTALES FRUTALES EXOTIC~
## 4 15 BOYACA 15676 SAN MIGU~ FRUTALES FRUTALES EXOTIC~
## 5 15 BOYACA 15774 SUSACON FRUTALES FRUTALES EXOTIC~
## 6 15 BOYACA 15531 PAUNA FRUTALES AGUACATE
## # ... with 8 more variables: CULTIVO <chr>, YEAR <dbl>, Area_Sembrada <dbl>,
## # Area_Cosechada <dbl>, Produccion <dbl>, Rendimiento <dbl>,
## # ESTADO_FISICO_PRODUCCION <chr>, CICLO_DE_CULTIVO <chr>
crops2018 %>%
filter(CULTIVO == "PAPA") -> papa2018
papa2018$TEMP <- as.character(papa2018$COD_MUN)
papa2018$MPIO_CCDGO <- as.factor(papa2018$TEMP)
papa_munic = left_join(munic, papa2018, by="MPIO_CCDGO")
## Warning: Column `MPIO_CCDGO` joining factors with different levels, coercing to
## character vector
head(papa_munic)
## Simple feature collection with 6 features and 24 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -73.44727 ymin: 4.904038 xmax: -72.65243 ymax: 5.645146
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## DPTO_CCDGO MPIO_CCDGO MPIO_CNMBR MPIO_CRSLC MPIO_NAREA MPIO_NANO DPTO_CNMBR
## 1 15 15001 TUNJA 1541 119.68957 2017 BOYACÁ
## 2 15 15001 TUNJA 1541 119.68957 2017 BOYACÁ
## 3 15 15022 ALMEIDA 1908 57.67212 2017 BOYACÁ
## 4 15 15022 ALMEIDA 1908 57.67212 2017 BOYACÁ
## 5 15 15047 AQUITANIA 1789 942.14660 2017 BOYACÁ
## 6 15 15047 AQUITANIA 1789 942.14660 2017 BOYACÁ
## Shape_Leng Shape_Area COD_DEP DEPARTAMENTO COD_MUN MUNICIPIO
## 1 0.5723744 0.009766301 15 BOYACA 15001 TUNJA
## 2 0.5723744 0.009766301 15 BOYACA 15001 TUNJA
## 3 0.3484692 0.004701759 15 BOYACA 15022 ALMEIDA
## 4 0.3484692 0.004701759 15 BOYACA 15022 ALMEIDA
## 5 1.8003115 0.076843504 15 BOYACA 15047 AQUITANIA
## 6 1.8003115 0.076843504 15 BOYACA 15047 AQUITANIA
## GRUPO_DE_CULTIVO SUBGRUPO_DE_CULTIVO CULTIVO YEAR Area_Sembrada
## 1 TUBERCULOS Y PLATANOS PAPA PAPA 2018 2600
## 2 TUBERCULOS Y PLATANOS PAPA PAPA 2018 150
## 3 TUBERCULOS Y PLATANOS PAPA PAPA 2018 6
## 4 TUBERCULOS Y PLATANOS PAPA PAPA 2018 4
## 5 TUBERCULOS Y PLATANOS PAPA PAPA 2018 60
## 6 TUBERCULOS Y PLATANOS PAPA PAPA 2018 25
## Area_Cosechada Produccion Rendimiento ESTADO_FISICO_PRODUCCION
## 1 2600 52000 20 TUBERCULO FRESCO
## 2 150 1500 10 TUBERCULO FRESCO
## 3 6 43 715 TUBERCULO FRESCO
## 4 4 17 415 TUBERCULO FRESCO
## 5 60 1530 255 TUBERCULO FRESCO
## 6 25 200 8 TUBERCULO FRESCO
## CICLO_DE_CULTIVO TEMP geometry
## 1 TRANSITORIO 15001 POLYGON ((-73.34014 5.58308...
## 2 TRANSITORIO 15001 POLYGON ((-73.34014 5.58308...
## 3 TRANSITORIO 15022 POLYGON ((-73.36793 5.01349...
## 4 TRANSITORIO 15022 POLYGON ((-73.36793 5.01349...
## 5 TRANSITORIO 15047 POLYGON ((-72.76242 5.63856...
## 6 TRANSITORIO 15047 POLYGON ((-72.76242 5.63856...
rep_papa <- st_transform(papa_munic, crs = 3116)
# set margins
opar <- par(mar = c(0,0,1.2,0))
# plot municipalities (only the backgroung color is plotted)
plot(st_geometry(rep_papa), col = NA, border = "black", bg = "grey75")
# plot isopleth map
smoothLayer(
x = rep_papa,
var = 'Produccion',
typefct = "exponential",
span = 20000,
beta = 2,
nclass = 10,
col = carto.pal(pal1 = 'harmo.pal', n1 = 10),
border = "grey",
lwd = 0.1,
mask = rep_papa,
legend.values.rnd = -3,
legend.title.txt = "Producción",
legend.pos = "right",
add=TRUE
)
# annotation on the map
text(x = 900000, y = 1230000, cex = 0.8, adj = 0, font = 3, labels =
"Función Distancia:\n- type = exponential\n- beta = 2\n- span = 20 km")
# layout
layoutLayer(title = "Distribución de la Producción de PAPA en Boyacá",
sources = "Fentes: DANE y MADR, 2018",
author = "Daniela Quiroga",
frame = FALSE, north = FALSE, tabtitle = TRUE, theme = "green.pal")
# north arrow
north(pos = "topleft")
### open the plot
png("C:/Users/Brian/Desktop/Daniela/Agricultura/papa2018.png", width = 2048, height = 1526)
# set margins
opar <- par(mar = c(0,0,5,5))
# Plot the municipalities
plot(st_geometry(rep_papa), col="darkseagreen3", border="darkseagreen4",
bg = "white", lwd = 0.6)
# Plot symbols with choropleth coloration
propSymbolsChoroLayer(x = rep_papa, var = "Produccion", var2 = "Rendimiento",
col = carto.pal(pal1 = "harmo.pal", n1 = 3,
pal2 = "red.pal", n2 = 3),
inches = 0.8, method = "q6",
border = "grey50", lwd = 1,
legend.title.cex = 1.5,
legend.values.cex = 1.0,
legend.var.pos = "right",
legend.var2.pos = "left",
legend.var2.values.rnd = 2,
legend.var2.title.txt = "Rendimiento\n(en Ton/Ha)",
legend.var.title.txt = "Producción de Papa en 2018",
legend.var.style = "e")
# plot labels
labelLayer(
x = rep_papa,
txt = "MPIO_CNMBR",
col= "white",
cex = 1.0,
font = 4,
halo = FALSE,
bg = "white",
r = 0.1,
overlap = FALSE,
show.lines = FALSE
)
# layout
layoutLayer(title="Producción y Rendimiento de Papa en Boyacá, 2018",
author = "Daniela Quiroga",
sources = "Fuentes: MADR & DANE, 2018",
scale = 50, tabtitle = FALSE, frame = TRUE)
# north arrow
north(pos = "topleft")
#
title(main="Producción y Rendimiento de Papa en Boyacá, 2018", cex.main=3,
sub= "Fuentes: MADR & DANE, 2018", cex.sub=2)
#
graticule = TRUE
#
par(opar)
### close the plot
dev.off()
## png
## 2
Producción de Papa en Boyacá, 2018
sessionInfo()
## R version 3.6.3 (2020-02-29)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 8.1 x64 (build 9600)
##
## Matrix products: default
##
## locale:
## [1] LC_COLLATE=Spanish_Colombia.1252 LC_CTYPE=Spanish_Colombia.1252
## [3] LC_MONETARY=Spanish_Colombia.1252 LC_NUMERIC=C
## [5] LC_TIME=Spanish_Colombia.1252
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] SpatialPosition_1.2.0 cartography_2.4.1 sf_0.8-1
## [4] raster_3.0-12 rgeos_0.5-2 sp_1.4-1
## [7] readxl_1.3.1 forcats_0.5.0 stringr_1.4.0
## [10] dplyr_0.8.5 purrr_0.3.3 readr_1.3.1
## [13] tidyr_1.0.2 tibble_2.1.3 ggplot2_3.3.0
## [16] tidyverse_1.3.0
##
## loaded via a namespace (and not attached):
## [1] Rcpp_1.0.3 lubridate_1.7.4 lattice_0.20-38 png_0.1-7
## [5] class_7.3-15 utf8_1.1.4 assertthat_0.2.1 digest_0.6.25
## [9] R6_2.4.1 cellranger_1.1.0 backports_1.1.5 reprex_0.3.0
## [13] evaluate_0.14 e1071_1.7-3 httr_1.4.1 pillar_1.4.3
## [17] rlang_0.4.5 rstudioapi_0.11 rmarkdown_2.1 rgdal_1.4-8
## [21] munsell_0.5.0 broom_0.5.5 compiler_3.6.3 modelr_0.1.6
## [25] xfun_0.12 pkgconfig_2.0.3 htmltools_0.4.0 tidyselect_1.0.0
## [29] codetools_0.2-16 fansi_0.4.1 crayon_1.3.4 dbplyr_1.4.2
## [33] withr_2.1.2 grid_3.6.3 nlme_3.1-144 jsonlite_1.6.1
## [37] gtable_0.3.0 lifecycle_0.2.0 DBI_1.1.0 magrittr_1.5
## [41] units_0.6-5 scales_1.1.0 KernSmooth_2.23-16 cli_2.0.2
## [45] stringi_1.4.6 fs_1.3.2 xml2_1.2.5 generics_0.0.2
## [49] vctrs_0.2.4 tools_3.6.3 glue_1.3.2 hms_0.5.3
## [53] slippymath_0.3.1 yaml_2.2.1 colorspace_1.4-1 classInt_0.4-2
## [57] rvest_0.3.5 knitr_1.28 haven_2.2.0