En este cuaderno se ilustrarán estadisticas de la agricultura del departamento de Cesar, basadas en los datos suministrados por el DANE y se exploraran paquetes como dplyr.
Empezaremos liberando la memoria de datos anteriores, esto para optimizar el funcionamiento de R.
rm(list=ls())
Se usaran varios paquetes que deben ser instalados, despues de instalarlos se puede poner un signo # para que al ejecutar de nuevo el codigo, elpaquete no se vuelva a instalar.
#installed.packages("here")
#install.packages("maptools")
#install.packages("viridis")
#install.packages(GSODR)
#install.packages("tinytex")
#install.packages("dplyr")
#install.packages(stringr)
library(here)
library(tidyverse)
library(tinytex)
library(stringr)
library(rgeos)
library(maptools)
library(raster)
library(sf)
library(viridis)
library(rnaturalearth)
library(GSODR)
library(ggrepel)
library(cowplot)
theme_set(theme_cowplot())
Con anterioridad se ha bajado de la pagina del DANE la estadistica de agricultura de Colombia y se ha depurado la informcion perteneciente al departamento de Cesar y se guardado
Vamos a leer el archivo.
datos <- read_csv("C:/Users/Usuario/Downloads/EVA_CESAR.csv")
Parsed with column specification:
cols(
COD_DEP = [32mcol_double()[39m,
DEPARTAMENTO = [31mcol_character()[39m,
MPIO_CCDGO = [32mcol_double()[39m,
MUNICIPIO = [31mcol_character()[39m,
GRUPO = [31mcol_character()[39m,
SUBGRUPO = [31mcol_character()[39m,
CULTIVO = [31mcol_character()[39m,
YEAR = [32mcol_double()[39m,
Area_siembra = [32mcol_double()[39m,
Area_cosecha = [32mcol_double()[39m,
Produccion = [32mcol_double()[39m,
Rendimiento = [32mcol_double()[39m,
ESTADO = [31mcol_character()[39m,
CICLO = [31mcol_character()[39m
)
Se revisan los atributos de los datos
head(datos)
tail(datos)
Se observan estadisticas en cuanto a producción, rendimiento de los cultivos ,áreas de siembra, areas de cosecha y los Cultivos estan organizados en grupos y subgrupos. Los datos no tienen unidades pero por medio de los encabezados de la tabla sabemos que las unidades de area son hectareas y las de rendimientos son toneladas/hectarea.
Aqui se usará el paquete dplyr,para explorar estos datos
datos %>%
group_by(MUNICIPIO, GRUPO) %>%
summarise(rend_prom = mean(Rendimiento, na.rm = TRUE)) -> rend_resumen
Observemos las seis primeras filas.
head(rend_resumen)
Se puede calcular el rendimiento por el grupo de cultivos por municipios.
datos %>%
group_by(GRUPO) %>%
summarise(rend_dep = mean(Rendimiento, na.rm = TRUE)) -> rend_cesar
rend_cesar
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO, MUNICIPIO) %>%
summarize(max_rend = max(Rendimiento, na.rm = TRUE)) %>%
slice(which.max(max_rend)) -> rend_max_18
rend_max_18
Ademas se pueden encontrar los municipios con mayores cosechas por grupos de cultivos en el departamento
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO, MUNICIPIO) %>%
summarize(max_rend = max(Rendimiento, na.rm = TRUE)) %>%
slice(which.max(max_rend)) -> rend_max_18
rend_max_18
Ahora podemos encontrar cuales son los municipios con las cosechas mas altas en todos los grupos en el año 2018.
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO, MUNICIPIO) %>%
summarize(max_area_cosecha = max(Area_cosecha, na.rm = TRUE)) %>%
slice(which.max(max_area_cosecha)) -> area_cosecha_max
area_cosecha_max
En el año 2018 la mayor cosecha se halla en el grupo de OTROS PERMANENTES y en el cultivo de café.
datos %>%
filter(MUNICIPIO=="AGUSTIN CODAZZI" & SUBGRUPO=="CAFE") %>%
group_by(YEAR, CULTIVO) -> codazzi_cafe
codazzi_cafe
g <- ggplot(aes(x=YEAR, y=Produccion/1000), data = codazzi_cafe) + geom_bar(stat='identity') + labs(y='Produccion de Café [Ton x 1000]')
g + ggtitle("Produccion de Café en Codazzi de 2007 a 2018") + labs(caption= "Basado en EMA data (DANE, 2018)")
Se puede conocer que cultivos tienen las mayores areas cosechadas en el 2018.
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO) %>%
summarize(sum_area_cosecha = sum(Area_cosecha, na.rm = TRUE)) %>%
arrange(desc(sum_area_cosecha)) -> total_area_cosecha
total_area_cosecha
Podemos saber que otros cultivos pertenecen al grupo de OTROS PERMANENTES
datos %>%
filter(GRUPO=="OTROS PERMANENTES" & YEAR==2018) %>%
group_by(CULTIVO) %>%
summarize(sum_cosecha = sum(Area_cosecha, na.rm = TRUE)) %>%
arrange(desc(sum_cosecha)) -> total_cosecha
total_cosecha
vamos a averiguar cuales son los municipios con mayores areas para los otros cultivos permanentes en el año 2018.
datos %>%
filter(YEAR==2018 & GRUPO=="OTROS PERMANENTES") %>%
group_by(CULTIVO, MUNICIPIO) %>%
summarize(max_area2 = max(Area_cosecha, na.rm = TRUE)) %>%
slice(which.max(max_area2)) -> area_cosecha2
area_cosecha2
Para realizar el grafico del area total de la cosecha y que este se vea ordenado, vamos a introducir un nuevo campo con las abreviaturas de los grupos, es decir tomaremos solamente los tres primeros caracteres del nombre del grupo así:
total_area_cosecha$CULTIVO <- abbreviate(total_area_cosecha$GRUPO, 3)
g <- ggplot(aes(x=CULTIVO, y=sum_area_cosecha), data = total_area_cosecha) + geom_bar(stat='identity') + labs(y='Total cultivada Area [Ha]')
g+ ggtitle("Total area cultivada por grupo en 2018 en Cesar") + theme(plot.title = element_text(hjust = 0.5)) +
labs(caption= "Basado en EMA data (DANE, 2018)")
Vemos que las areas dedicadas a leguminosas, tuberculos y platanos y forestales son muy pequeñas,comparadas con las dedicadas a otros cultivos permanentes.
En cuadernos anteriores ya habiamos usado datos administrativos de Cesar, tomados del geoportal del DANE
Empezaremos a usar la libreria sf
ces_munic <- sf::st_read("C:/Users/Usuario/Documents/20_CESAR/ADMINISTRATIVO/MGN_MPIO_POLITICO.shp")
Reading layer `MGN_MPIO_POLITICO' from data source `C:\Users\Usuario\Documents\20_CESAR\ADMINISTRATIVO\MGN_MPIO_POLITICO.shp' using driver `ESRI Shapefile'
Simple feature collection with 25 features and 9 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -74.13916 ymin: 7.67435 xmax: -72.88575 ymax: 10.86767
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
Revisaremos que contiene ces_munic
ces_munic
Simple feature collection with 25 features and 9 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -74.13916 ymin: 7.67435 xmax: -72.88575 ymax: 10.86767
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
First 10 features:
DPTO_CCDGO MPIO_CCDGO MPIO_CNMBR MPIO_CRSLC MPIO_NAREA
1 20 20011 AGUACHICA Ordenanza 40 de 1914 877.65080
2 20 20032 ASTREA Ordenanza 13 de Noviembre 26 de 1984 637.90276
3 20 20060 BOSCONIA Ordenanza 1 de Noviembre 6 de 1979 586.20146
4 20 20175 CHIMICHAGUA Ordenanza 0054 de 1892 1376.44464
5 20 20178 CHIRIGUANÁ Ordenanza 04 de 1888 1114.48038
6 20 20228 CURUMANÍ Ordenanza 36 del 16 de Noviembre de 1965 915.17120
7 20 20238 EL COPEY Ordenanza 8 de Noviembre 3 de 1971 956.45083
8 20 20250 EL PASO Ordenanza 29 de 1979 813.94054
9 20 20295 GAMARRA Ordenanza 15 de Abril 9 de 1929 326.88124
10 20 20310 GONZALEZ Ordenanza 31 de 1915 73.00612
MPIO_NANO DPTO_CNMBR Shape_Leng Shape_Area geometry
1 2017 CESAR 1.9679384 0.072022220 POLYGON ((-73.56888 8.49782...
2 2017 CESAR 1.3358745 0.052526472 POLYGON ((-73.80394 9.63457...
3 2017 CESAR 1.2747707 0.048330887 POLYGON ((-73.82289 10.0769...
4 2017 CESAR 2.4739455 0.113242352 POLYGON ((-73.79569 9.49119...
5 2017 CESAR 2.4872058 0.091739688 POLYGON ((-73.52508 9.60095...
6 2017 CESAR 1.6062534 0.075292500 POLYGON ((-73.40689 9.40523...
7 2017 CESAR 1.6749954 0.078916864 POLYGON ((-73.82925 10.3998...
8 2017 CESAR 2.3246301 0.067051640 POLYGON ((-73.83815 9.78516...
9 2017 CESAR 0.9940224 0.026831192 POLYGON ((-73.64746 8.48989...
10 2017 CESAR 0.4348734 0.005992883 POLYGON ((-73.37035 8.45907...
Podemos ver que en estos datos se usa el sistema de referencia de coordenadas WGS1984.
Para realizar la union entre los datos de los municipios de los dos archivos se usara la funcion leaf_join.
datos %>% filter (MUNICIPIO =="VALLEDUPAR") -> valle_datos
valle_datos
Revisaremos la calse de datos de la colomna MPIO_CCDGO, para poder realizar el join la clasede los datos a unir debe serla misma
class(valle_datos$MPIO_CCDGO)
[1] "numeric"
Haremos el join mediante el codigo de los municipios, ya que es un dato de identificación que poseen los dos archivos. Se creará una copia de los datos para evitar dañar el archivo original si se llegara a incurrir en un error al manipularlos.
datos2 <- datos
datos2$TEMP <- as.numeric(datos2$MPIO_CCDGO)
Se realizará un cambio en los atributos de MPIO_CCDGO
head(datos2)
Filtraremos los datos teniendo en cuento atributos importantes
datos2 %>% filter(CULTIVO == "CAFE") -> datos3
head(datos3)
class(datos3)
[1] "spec_tbl_df" "tbl_df" "tbl" "data.frame"
Usamos la funcion %>%
datos4 <- datos3 %>% dplyr::select(MUNICIPIO, MPIO_CCDGO, YEAR, Produccion, Rendimiento)
datos4
head(datos4)
En el siguiente código hay varios pasos incluidos, se agrupan , se unen, se mutan, se propagan, se unifican datos. Todas estas son funciones importantes al tratar datos.
datos4 %>%
group_by(MPIO_CCDGO) %>%
mutate(Visit = 1:n()) %>%
gather("YEAR", "Produccion", "Rendimiento", key = variable, value = number) %>%
unite(combi, variable, Visit) %>%
spread(combi, number) -> datos5
Revisemos los seis primeros y los seis ultimos renglones de datos5
head(datos5)
tail(datos5)
Se realizará tambien una copia de los datos de caracteristicas simples, adjuntados al inicio del cuaderno.
ces_munic2 <- ces_munic
En principio tuve muchos problemas al realizar el join, entonces en la consola se realizo un data wrangling en el que separé el código del municipio en dos columnas de tres digitos cada una y realicé el join con el atribito CCDGO que tenia los ultimos tres digitos de la identificacion de cada municipio. y quedaron con los nombres ces_munic3 y datos6.
ces_munic3 <- separate(ces_munic2, MPIO_CCDGO, c("MPIO", "CCDGO"),sep = "20")
ces_munic3
Simple feature collection with 25 features and 10 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -74.13916 ymin: 7.67435 xmax: -72.88575 ymax: 10.86767
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
First 10 features:
DPTO_CCDGO MPIO CCDGO MPIO_CNMBR MPIO_CRSLC MPIO_NAREA
1 20 011 AGUACHICA Ordenanza 40 de 1914 877.65080
2 20 032 ASTREA Ordenanza 13 de Noviembre 26 de 1984 637.90276
3 20 060 BOSCONIA Ordenanza 1 de Noviembre 6 de 1979 586.20146
4 20 175 CHIMICHAGUA Ordenanza 0054 de 1892 1376.44464
5 20 178 CHIRIGUANÁ Ordenanza 04 de 1888 1114.48038
6 20 228 CURUMANÍ Ordenanza 36 del 16 de Noviembre de 1965 915.17120
7 20 238 EL COPEY Ordenanza 8 de Noviembre 3 de 1971 956.45083
8 20 250 EL PASO Ordenanza 29 de 1979 813.94054
9 20 295 GAMARRA Ordenanza 15 de Abril 9 de 1929 326.88124
10 20 310 GONZALEZ Ordenanza 31 de 1915 73.00612
MPIO_NANO DPTO_CNMBR Shape_Leng Shape_Area geometry
1 2017 CESAR 1.9679384 0.072022220 POLYGON ((-73.56888 8.49782...
2 2017 CESAR 1.3358745 0.052526472 POLYGON ((-73.80394 9.63457...
3 2017 CESAR 1.2747707 0.048330887 POLYGON ((-73.82289 10.0769...
4 2017 CESAR 2.4739455 0.113242352 POLYGON ((-73.79569 9.49119...
5 2017 CESAR 2.4872058 0.091739688 POLYGON ((-73.52508 9.60095...
6 2017 CESAR 1.6062534 0.075292500 POLYGON ((-73.40689 9.40523...
7 2017 CESAR 1.6749954 0.078916864 POLYGON ((-73.82925 10.3998...
8 2017 CESAR 2.3246301 0.067051640 POLYGON ((-73.83815 9.78516...
9 2017 CESAR 0.9940224 0.026831192 POLYGON ((-73.64746 8.48989...
10 2017 CESAR 0.4348734 0.005992883 POLYGON ((-73.37035 8.45907...
datos6 <- separate(datos5, MPIO_CCDGO, c("MPIO", "CCDGO"),sep = "20")
datos6
Ya hemos realizado todos lospasos previos para realizar el join.
ces_munic_stat = left_join(ces_munic3, datos6, by="CCDGO")
summary(ces_munic_stat)
DPTO_CCDGO MPIO.x CCDGO MPIO_CNMBR
20:25 Length:25 Length:25 AGUACHICA : 1
Class :character Class :character AGUSTÍN CODAZZI: 1
Mode :character Mode :character ASTREA : 1
BECERRILL : 1
BOSCONIA : 1
CHIMICHAGUA : 1
(Other) :19
MPIO_CRSLC MPIO_NAREA MPIO_NANO DPTO_CNMBR
1915 : 1 Min. : 73.01 Min. :2017 CESAR:25
Decreto 179 de Feb 25 de 1958 : 1 1st Qu.: 549.45 1st Qu.:2017
ORD 37 DE DICIEMBRE 10 DE 1997 : 1 Median : 755.91 Median :2017
Ordenananza 08 de 1935 : 1 Mean : 902.49 Mean :2017
Ordenanza 003 del 19 de Noviembre de 1976: 1 3rd Qu.: 993.28 3rd Qu.:2017
Ordenanza 0054 de 1892 : 1 Max. :4185.79 Max. :2017
(Other) :19
Shape_Leng Shape_Area MUNICIPIO MPIO.y Produccion_1
Min. :0.4349 Min. :0.005993 Length:25 Length:25 Min. : 8.0
1st Qu.:1.3359 1st Qu.:0.045082 Class :character Class :character 1st Qu.: 81.0
Median :1.8600 Median :0.062240 Mode :character Mode :character Median : 195.0
Mean :1.9210 Mean :0.074318 Mean : 698.9
3rd Qu.:2.3246 3rd Qu.:0.081449 3rd Qu.: 595.0
Max. :4.8778 Max. :0.345529 Max. :3040.0
NA's :6
Produccion_10 Produccion_11 Produccion_12 Produccion_2 Produccion_3
Min. : 2.0 Min. : 2.0 Min. : 5.0 Min. : 11.0 Min. : 10.0
1st Qu.: 71.5 1st Qu.: 52.5 1st Qu.: 48.0 1st Qu.: 45.0 1st Qu.: 70.5
Median : 389.0 Median : 282.0 Median : 272.0 Median : 195.0 Median : 200.0
Mean :1192.1 Mean : 875.2 Mean : 786.5 Mean : 728.5 Mean : 672.2
3rd Qu.:1539.5 3rd Qu.:1082.5 3rd Qu.: 821.5 3rd Qu.: 588.0 3rd Qu.: 588.0
Max. :5340.0 Max. :3971.0 Max. :3820.0 Max. :3235.0 Max. :3011.0
NA's :6 NA's :6 NA's :6 NA's :6 NA's :6
Produccion_4 Produccion_5 Produccion_6 Produccion_7 Produccion_8
Min. : 8.0 Min. : 8.0 Min. : 10.0 Min. : 11.0 Min. : 11.0
1st Qu.: 86.0 1st Qu.: 76.5 1st Qu.: 94.5 1st Qu.: 62.5 1st Qu.: 66.0
Median : 184.0 Median : 181.0 Median : 272.0 Median : 204.0 Median : 239.0
Mean : 698.7 Mean : 580.9 Mean :1052.4 Mean : 792.2 Mean : 891.4
3rd Qu.: 590.5 3rd Qu.: 520.5 3rd Qu.: 828.0 3rd Qu.: 728.5 3rd Qu.: 884.0
Max. :3011.0 Max. :3011.0 Max. :6338.0 Max. :4144.0 Max. :4667.0
NA's :6 NA's :6 NA's :6 NA's :6 NA's :6
Produccion_9 Rendimiento_1 Rendimiento_10 Rendimiento_11 Rendimiento_12
Min. : 2.0 Min. :0.4700 Min. :0.6400 Min. :0.6600 Min. :0.6200
1st Qu.: 71.5 1st Qu.:0.5600 1st Qu.:0.8250 1st Qu.:0.6600 1st Qu.:0.6200
Median : 362.0 Median :0.6000 Median :0.9000 Median :0.6600 Median :0.6200
Mean :1170.6 Mean :0.5979 Mean :0.8942 Mean :0.6695 Mean :0.6326
3rd Qu.:1500.5 3rd Qu.:0.6200 3rd Qu.:0.9700 3rd Qu.:0.6600 3rd Qu.:0.6200
Max. :5217.0 Max. :0.8100 Max. :1.1000 Max. :0.8400 Max. :0.8600
NA's :6 NA's :6 NA's :6 NA's :6 NA's :6
Rendimiento_2 Rendimiento_3 Rendimiento_4 Rendimiento_5 Rendimiento_6
Min. :0.3800 Min. :0.5000 Min. :0.4500 Min. :0.2000 Min. :0.5000
1st Qu.:0.5100 1st Qu.:0.5000 1st Qu.:0.5000 1st Qu.:0.5000 1st Qu.:0.6000
Median :0.6000 Median :0.5000 Median :0.6000 Median :0.5000 Median :0.7500
Mean :0.5821 Mean :0.5579 Mean :0.5842 Mean :0.5447 Mean :0.7653
3rd Qu.:0.6100 3rd Qu.:0.6000 3rd Qu.:0.6000 3rd Qu.:0.6000 3rd Qu.:0.8000
Max. :0.8000 Max. :0.8000 Max. :0.8000 Max. :0.8000 Max. :1.2000
NA's :6 NA's :6 NA's :6 NA's :6 NA's :6
Rendimiento_7 Rendimiento_8 Rendimiento_9 YEAR_1 YEAR_10
Min. :0.3700 Min. :0.4000 Min. :0.6200 Min. :2007 Min. :2016
1st Qu.:0.4800 1st Qu.:0.5200 1st Qu.:0.8050 1st Qu.:2007 1st Qu.:2016
Median :0.5900 Median :0.6400 Median :0.8700 Median :2007 Median :2016
Mean :0.5889 Mean :0.6379 Mean :0.8647 Mean :2007 Mean :2016
3rd Qu.:0.6650 3rd Qu.:0.7200 3rd Qu.:0.9350 3rd Qu.:2007 3rd Qu.:2016
Max. :0.8900 Max. :0.9600 Max. :1.0700 Max. :2007 Max. :2016
NA's :6 NA's :6 NA's :6 NA's :6 NA's :6
YEAR_11 YEAR_12 YEAR_2 YEAR_3 YEAR_4 YEAR_5
Min. :2017 Min. :2018 Min. :2008 Min. :2009 Min. :2010 Min. :2011
1st Qu.:2017 1st Qu.:2018 1st Qu.:2008 1st Qu.:2009 1st Qu.:2010 1st Qu.:2011
Median :2017 Median :2018 Median :2008 Median :2009 Median :2010 Median :2011
Mean :2017 Mean :2018 Mean :2008 Mean :2009 Mean :2010 Mean :2011
3rd Qu.:2017 3rd Qu.:2018 3rd Qu.:2008 3rd Qu.:2009 3rd Qu.:2010 3rd Qu.:2011
Max. :2017 Max. :2018 Max. :2008 Max. :2009 Max. :2010 Max. :2011
NA's :6 NA's :6 NA's :6 NA's :6 NA's :6 NA's :6
YEAR_6 YEAR_7 YEAR_8 YEAR_9 geometry
Min. :2012 Min. :2013 Min. :2014 Min. :2015 POLYGON :25
1st Qu.:2012 1st Qu.:2013 1st Qu.:2014 1st Qu.:2015 epsg:4326 : 0
Median :2012 Median :2013 Median :2014 Median :2015 +proj=long...: 0
Mean :2012 Mean :2013 Mean :2014 Mean :2015
3rd Qu.:2012 3rd Qu.:2013 3rd Qu.:2014 3rd Qu.:2015
Max. :2012 Max. :2013 Max. :2014 Max. :2015
NA's :6 NA's :6 NA's :6 NA's :6
El paso final de este cuaderno es un mapa en el que se vera la produccion de cafe,(que es el cultivo mas relevante en el Cesar), en cada municipio de Cesar durante el año 2018.
#install.packages("leaflet")
library(RColorBrewer)
library(leaflet)
bins <- c(0, 250, 500, 750, 1000, 1250, 1500, 1750,2000,2250)
pal <- colorBin("YlOrRd", domain = ces_munic_stat$Produccion_12, bins = bins)
mapa <- leaflet(data = ces_munic_stat) %>%
addTiles() %>%
addPolygons(label = ~Produccion_12,
popup = ~MPIO_CNMBR,
fillColor = ~pal(Produccion_12),
color = "#444444",
weight = 1,
smoothFactor = 0.5,
opacity = 1.0,
fillOpacity = 0.5,
highlightOptions = highlightOptions(color = "white", weight = 2, bringToFront = TRUE)
) %>%
addProviderTiles(providers$OpenStreetMap) %>%
addLegend("bottomright", pal = pal, values = ~Produccion_1,
title = "Produccion de aguacate en el Cesar [Ton] (2018)",
opacity = 1 )
Some values were outside the color scale and will be treated as NA
mapa
sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18362)
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] leaflet_2.0.3 RColorBrewer_1.1-2 cowplot_1.0.0 ggrepel_0.8.2
[5] GSODR_2.0.1 rnaturalearth_0.1.0 viridis_0.5.1 viridisLite_0.3.0
[9] sf_0.8-1 raster_3.0-12 maptools_0.9-9 rgeos_0.5-2
[13] sp_1.4-1 tinytex_0.20 forcats_0.5.0 stringr_1.4.0
[17] dplyr_0.8.4 purrr_0.3.3 readr_1.3.1 tidyr_1.0.2
[21] tibble_2.1.3 ggplot2_3.3.0 tidyverse_1.3.0 here_0.1
[25] MASS_7.3-51.4 Matrix_1.2-17
loaded via a namespace (and not attached):
[1] nlme_3.1-140 fs_1.3.2 lubridate_1.7.4
[4] httr_1.4.1 rprojroot_1.3-2 tools_3.6.1
[7] backports_1.1.5 R6_2.4.1 KernSmooth_2.23-15
[10] DBI_1.1.0 colorspace_1.4-1 withr_2.1.2
[13] tidyselect_1.0.0 gridExtra_2.3 compiler_3.6.1
[16] cli_2.0.2 rvest_0.3.5 xml2_1.2.5
[19] labeling_0.3 scales_1.1.0 classInt_0.4-2
[22] digest_0.6.25 foreign_0.8-71 rmarkdown_2.1
[25] base64enc_0.1-3 pkgconfig_2.0.3 htmltools_0.4.0
[28] dbplyr_1.4.2 htmlwidgets_1.5.1 rlang_0.4.5
[31] readxl_1.3.1 rstudioapi_0.11 farver_2.0.3
[34] generics_0.0.2 jsonlite_1.6.1 crosstalk_1.1.0.1
[37] magrittr_1.5 Rcpp_1.0.3 munsell_0.5.0
[40] fansi_0.4.1 lifecycle_0.2.0 stringi_1.4.6
[43] yaml_2.2.1 grid_3.6.1 crayon_1.3.4
[46] lattice_0.20-38 haven_2.2.0 hms_0.5.3
[49] knitr_1.28 pillar_1.4.3 codetools_0.2-16
[52] reprex_0.3.0 glue_1.3.1 evaluate_0.14
[55] leaflet.providers_1.9.0 data.table_1.12.8 modelr_0.1.6
[58] vctrs_0.2.3 cellranger_1.1.0 gtable_0.3.0
[61] assertthat_0.2.1 xfun_0.12 broom_0.5.5
[64] e1071_1.7-3 rsconnect_0.8.16 class_7.3-15
[67] units_0.6-5 ellipsis_0.3.0