Evolución de la Universidad de Valencia

Vanesa Regueiro ()


Trabajo elaborado para la asignatura “Programación y manejo de datos en la era del Big Data” de la Universitat de València durante el curso 2021-2022. El repo del trabajo está aquí.

La página web de la asignatura y los trabajos de mis compañeros pueden verse aquí.


1. Introducción

Este trabajo consiste en un estudio de la Universidad de Valencia. Con este análisis se observarán distintas evoluciones donde se pretende mostrar visualmente como se ha desarrollado la UV a través de los años.

Para hacer todo esto se pondrá en práctica lo estudiado en la asignatura de Programación y manejo de datos en la era del Big Data que se cursa en CUARTO de la carrera de Economía en la UV.

¿FUNCIONARÁ?


2. Datos

Los datos que se van a utilizar durante el trabajo han sido sacados de la propia web de la Universidad de Valencia, en la bibliografia se encuentra el link directo. Asimismo, estos datos han sido bajados y actualizdoa a día 25 de diciembre de 2021.

2.1. Procesando los datos

El trabajo se basa en los siguientes dataframes.


datos1 <- here::here("datos", "PlazasOfertadas.csv")

aa <- rio::import(datos1) #USADO

datos2 <- here::here("datos", "ResidenciaFamiliarNuevosMatriculados.csv")

bb <- rio::import(datos2) #USADO

datos3 <- here::here("datos", "NúmeroMatriculados.csv")

cc <- rio::import(datos3) #USADO

datos4 <- here::here("datos", "NúmeroMatriculadosPorRama.csv") 

dd <- rio::import(datos4) #USADO

datos5 <- here::here("datos", "ModalidadIngreso.csv")

ee <- rio::import(datos5) #USADO

datos6 <- here::here("datos", "RangoEdadMatriculados.csv")

ff <- rio::import(datos6) #USADO

datos7 <- here::here("datos", "MatriculadosOtrosEstudios.csv")

gg <- rio::import(datos7) #NO USADO PERO YA QUE LO PROCESE Y CAMBIE PARA PODER USARLO PUES LO DEJO PARA QUE SE VEA EL TRABAJO QUE HAY DETRÁS

datos8 <- here::here("datos", "EstudiantesYTrabajo.csv")

hh <- rio::import(datos8)

datos9 <- here::here("datos", "EstudiosMadre.csv")

ii <- rio::import(datos9) #USADO

datos10 <- here::here("datos", "EstudiosPadre.csv")

jj <- rio::import(datos10) #USADO

datos11 <- here::here("datos", "TrabajoPadre.csv")

kk <- rio::import(datos11) #USADO

datos12 <- here::here("datos", "TrabajoMadre.csv")

ll <- rio::import(datos12) #USADO

datos13 <- here::here("datos", "NacionalidadEstudiante.csv") 

mm <- rio::import(datos13) #USADO

datos14 <- here::here("datos", "ResidenciaFamiliar.csv") #NO USADO PERO YA QUE LO PROCESE Y CAMBIE PARA PODER USARLO PUES LO DEJO PARA QUE SE VEA EL TRABAJO QUE HAY DETRÁS

nn <- rio::import(datos14)

datos15 <- here::here("datos", "ComarcasResidenciaFamiliar.csv") 

oo <- rio::import(datos15) #NO USADO PERO YA QUE LO PROCESE Y CAMBIE PARA PODER USARLO PUES LO DEJO PARA QUE SE VEA EL TRABAJO QUE HAY DETRÁS

datos16 <- here::here("datos", "1.2.14. Estudiants i estudiantes de grau per campus, centre i estudi per comarca i municipi familiar.csv") 

pp <- rio::import(datos16)#NO USADO PERO YA QUE LO PROCESE Y CAMBIE PARA PODER USARLO PUES LO DEJO PARA QUE SE VEA EL TRABAJO QUE HAY DETRÁS

datos17 <- here::here("datos", "TituladosPorRamaYCentro.csv")

qq <- rio::import(datos17) #NO USADO PERO YA QUE LO PROCESE Y CAMBIE PARA PODER USARLO PUES LO DEJO PARA QUE SE VEA EL TRABAJO QUE HAY DETRÁS

datos18 <- here::here("datos", "TituladosAñosEnGraduarse.csv")

rr <- rio::import(datos18) #USADO

datos19 <- here::here("datos", "PDI por rango de edad.csv") 

ss <- rio::import(datos19) #USADO

datos20 <- here::here("datos", "PAS por rango de edad.csv")

tt <- rio::import(datos20) #USADO

datos21 <- here::here("datos", "Personal en Investigación por rango de edat y tipo.csv")

uu <- rio::import(datos21) #NO USADO

Porfa, valorar lo que me ha costado limpiar los datos


3. Trabajos en los que te has basado

El trabajo es elaboración propia. Lo más costoso ha sido limpiar los datos ya que al ser tantos dataframes. Tener que modificarlos ha sido muy duro pero ahora viene a lo que realmente veniamos… ¿La UV que tipo de alumnado tiene? ¿Ha aumentado el número de matriculados con los años? ¿Cuanto menor educación tienen los padres más tienden los hijos a educarse? Se intentará defender esas preguntas asi como otras. Cabe resaltar que este trabajo es únicamente para la asignatura y que no va a ser utilizado para nada más.

“Nadie dijo que sería fácil”

4. Plazas ofertadas este año de nuevo ingreso por Campus.

Como se muestra en el gráfico, el Campus dels Tarongers es el que más oferta de plazas tiene. A pesar de que el de Blasco sea el Campus más antiguo de la UV.

aadf <- aa %>%
  filter(Centro == "Total") %>%
  select(Campus, "a2020_2021")

aaplot <- ggplot(aadf, aes(Campus, a2020_2021, fill=Campus)) +
  geom_bar(stat = "identity", fill = paletteer_c("grDevices::SunsetDark", 3)) +
  theme_minimal() +
  theme(legend.position = "none") +
  ggtitle("Matriculados año 2020-2021") + 
  ylab("2020-2021")  + 
  coord_flip()

ggplotly(aaplot)

5. Número Matriculados.

Para hacer una comparación más profunda, se observará el número de matriculados finalmente en cada campus.

ccdf <- cc %>%
  filter(Centre == "Total") %>%
  select(Campus, "Total")

ccplot <- ggplot(ccdf, aes(Campus, Total, fill=Campus)) +
  geom_bar(stat = "identity", fill = paletteer_c("grDevices::SunsetDark", 3)) +
  theme_minimal() +
  theme(legend.position = "none") +
  ggtitle("Matriculados año 2020-2021") + 
  ylab("2020-2021")  + 
  coord_flip()

ggplotly(ccplot)

Tras esto, se demuestra que existe cierta relación aunque no se muestre el número de años que el alumnado tarda en graduarse, etc… Con el dataframe se puede trabajar para ver como ha evolucionado la carrera en la que nos encontramos o muchas otras. También se distingue entre hombres y mujeres pero por falta de tiempo, no podré realizarlo.

6. Residencia familiar.

6. 1 Top 10 Residencia Familiar Nuevos Matriculados .

2017-2018

bbdf <- bb %>% 
  select(provincia, `2017-2018(Total)`) %>% 
  slice_max(`2017-2018(Total)`, n = 10) 

bbplot <- ggplot(bbdf, aes(provincia, `2017-2018(Total)`, color = provincia)) +
  geom_point(color = paletteer_c("viridis::magma", 10), alpha = 0.8) +
  theme_fivethirtyeight() +
  theme(legend.position = "none") +
  ggtitle("2017-2018 Procedencia Nuevos Matriculados") + coord_flip()

ggplotly(bbplot)

2018-2019

bbdf1 <- bb %>% 
  select(provincia, `2018-2019(Total)`) %>% 
  slice_max(`2018-2019(Total)`, n = 10) 

bbplot1 <- ggplot(bbdf1, aes(provincia, `2018-2019(Total)`, color = provincia)) +
  geom_point(color = paletteer_c("viridis::magma", 11), alpha = 0.8) +
  theme_fivethirtyeight() +
  theme(legend.position = "none") +
  ggtitle("2018-2019 Procedencia Nuevos Matriculados") + coord_flip()

ggplotly(bbplot1)

2019-2020

bbdf2 <- bb %>% 
  select(provincia, `2019-2020(Total)`) %>% 
  slice_max(`2019-2020(Total)`, n = 10) 

bbplot2 <- ggplot(bbdf2, aes(provincia, `2019-2020(Total)`, color = provincia)) +
  geom_point(color = paletteer_c("viridis::magma", 11), alpha = 0.8) +
  theme_fivethirtyeight() +
  theme(legend.position = "none") +
  ggtitle("2019-2020 Procedencia Nuevos Matriculados") + coord_flip()

ggplotly(bbplot2)

2020-2021

bbdf3 <- bb %>% 
  select(provincia, `2020-2021(Total)`) %>% 
  slice_max(`2020-2021(Total)`, n = 10) 

bbplot3 <- ggplot(bbdf3, aes(provincia, `2020-2021(Total)`, color = provincia)) +
  geom_point(color = paletteer_c("viridis::magma", 10), alpha = 0.8) +
  theme_fivethirtyeight() +
  theme(legend.position = "none") +
  ggtitle("2020-2021 Procedencia Nuevos Matriculados") + coord_flip()

ggplotly(bbplot3)

6. 2. Top 10 Residencia Familiar Matriculados en 2020 distinguiendo entre hombres y mujeres .

TOTAL

nndf <- nn %>% 
  select(provincia, `2020-2021(Total)`, `2020-2021(Mujer)`, `2020-2021(Hombre)`) %>% 
  slice_max(`2020-2021(Total)`, n = 10) 

nnplot <- ggplot(nndf, aes(provincia, `2020-2021(Total)`, color = provincia)) +
  geom_point(color = paletteer_c("viridis::magma", 10), alpha = 0.8) +
  theme_fivethirtyeight() +
  theme(legend.position = "none") +
  ggtitle("2020-2021 Procedencia Matriculados") + coord_flip()

ggplotly(nnplot)

MUJER

nndf1 <- nn %>% 
  select(provincia, `2020-2021(Total)`, `2020-2021(Mujer)`, `2020-2021(Hombre)`) %>% 
  slice_max(`2020-2021(Mujer)`, n = 10) 

nnplot1 <- ggplot(nndf1, aes(provincia, `2020-2021(Mujer)`, color = provincia)) +
  geom_point(color = paletteer_c("viridis::magma", 10), alpha = 0.8) +
  theme_fivethirtyeight() +
  theme(legend.position = "none") +
  ggtitle("2020-2021 Procedencia Mujeres Matriculadas") + coord_flip()

ggplotly(nnplot1)

HOMBRE

nndf2 <- nn %>% 
  select(provincia, `2020-2021(Total)`, `2020-2021(Mujer)`, `2020-2021(Hombre)`) %>% 
  slice_max(`2020-2021(Hombre)`, n = 10) 

nnplot2 <- ggplot(nndf2, aes(provincia, `2020-2021(Hombre)`, color = provincia)) +
  geom_point(color = paletteer_c("viridis::magma", 10), alpha = 0.8) +
  theme_fivethirtyeight() +
  theme(legend.position = "none") +
  ggtitle("2020-2021 Procedencia Hombres Matriculados") + coord_flip()

ggplotly(nnplot2)

8. Número Matriculados Por Rama .

TOTAL

hpolar <- function(x, a, c, z) (
  highchart() %>% 
  hc_chart(polar = TRUE) %>% 
  hc_title(text = x) %>% 
  hc_xAxis(categories = a,
           tickmarkPlacement = "on",
           lineWidth = 0) %>% 
  hc_yAxis(gridLineInterpolation = "polygon",
           lineWidth = 0,
           min = 0) %>% 
  hc_series(list(name = z,
                 data = c,
                 pointPlacement = "on",
                 type = "column",
                 color = '#a80828'))   )    
dddf <- dd %>% 
  filter(Centre == "Total") %>% 
  select(Rama, Mujer, Hombre, Total) 

hpolar('Número de matriculados', dddf$Rama, dddf$Total,  'Por Rama')

MUJER

hpolar('Número de matriculados', dddf$Rama, dddf$Mujer,  'Por Rama')

HOMBRE

hpolar('Número de matriculados', dddf$Rama, dddf$Hombre,  'Por Rama')

9. Evolución Modalidad de Ingreso diferenciando entre hombres y mujeres

eelong <- ee %>% pivot_longer(cols = 2:13, names_to = "periodo")

eedf <- eelong %>%
  drop_na() %>%
  group_by(Ingreso, periodo)  %>%
  summarise(matriculados = sum(value)) %>%
  group_by(periodo) %>%
  slice_max(matriculados, n = 28)

eeplot <- ggplot(eedf, aes(matriculados, Ingreso, colour = Ingreso)) +
  geom_point(alpha = 1/2) +
  scale_size(range = c(4, 14)) +
  scale_x_log10() + 
  theme_minimal() + 
  theme(axis.text.x=element_blank(), axis.ticks.x =element_blank(), axis.text.y=element_blank(), axis.ticks.y =element_blank(), legend.position = "none")+
  labs(title = "Evolución Modalidad de Ingreso") +
  facet_wrap(~periodo) 

ggplotly(eeplot)

10. Rango de Edades .

Aquí el problema es que los datos proceden de dataframes distintos.

ALUMNADO

fflong <- ff %>% 
  pivot_longer(cols = 2:13, names_to = "periodo")

fflong <- fflong %>% 
  filter(periodo %in% c("2017", "2018", "2019", "2020")) %>% group_by(Edad, periodo) %>% mutate(alumnos = sum(value))

ffplot <- ggplot(fflong, aes(x = periodo, y = alumnos, group = Edad,color = Edad)) +
  geom_point(alpha = 0.8,color = paletteer_c("ggthemes::Sunset-Sunrise Diverging", 72)) +
  geom_line(alpha = 0.2) +
  labs(title = "Rango De Edad Alumnado") + theme_minimal()

ggplotly(ffplot)

PDI

sslong <- ss %>% 
  pivot_longer(cols = 2:13, names_to = "periodo")

sslong <- sslong %>% 
  filter(periodo %in% c("2017", "2018", "2019", "2020")) %>% group_by(edad, periodo) %>% mutate(PDI = sum(value))

ssplot <- ggplot(sslong, aes(x = periodo, y = PDI, group = edad,color = edad)) +
  geom_point(alpha = 0.8,color = paletteer_c("ggthemes::Sunset-Sunrise Diverging", 40)) +
  geom_line(alpha = 0.2) +
  labs(title = "Rango De Edad PDI") + theme_minimal()

ggplotly(ssplot)

PAS

ttlong <- tt %>% 
  pivot_longer(cols = 2:13, names_to = "periodo")

ttlong <- ttlong %>% 
  filter(periodo %in% c("2017", "2018", "2019", "2020")) %>% group_by(edad, periodo) %>% mutate(PAS = sum(value))

ttplot <- ggplot(ttlong, aes(x = periodo, y = PAS, group = edad,color = edad)) +
  geom_point(alpha = 0.8,color = paletteer_c("ggthemes::Sunset-Sunrise Diverging", 40)) +
  geom_line(alpha = 0.2) +
  labs(title = "Rango De Edad PAS") + theme_minimal()

ggplotly(ttplot)

11. ¿Cuánto tardan los titulados en graduarse? .

TOTAL

rrlong <- rr %>% 
  pivot_longer(cols = 2:13, names_to = "year")

rrlong <- rrlong %>% 
  filter(year %in% c("2017", "2018", "2019", "2020")) %>% group_by(tiempo, year) %>% mutate(Graduados = sum(value))

rrlong$Graduados <- as.numeric(as.character(rrlong$Graduados))
rrlong$year <- as.numeric(as.character(rrlong$year))

rrplot <- ggplot(rrlong, aes(x = year, y = Graduados, group = tiempo,color = tiempo)) +
  geom_point(color = paletteer_c("grDevices::rainbow", 44)) +
  geom_line() + 
  theme_minimal() + 
  transition_reveal(year) 

animate(rrplot, 90, 5)

MUJERES

rrlong1 <- rr %>% 
  pivot_longer(cols = 2:13, names_to = "year")

rrlong1 <- rrlong1 %>% 
  filter(year %in% c("2017Mujer", "2018Mujer", "2019Mujer", "2020Mujer")) %>% group_by(tiempo, year) %>% mutate(Graduados = sum(value))

rrlong1 <- rrlong1 %>% mutate(year = str_replace(year, "Mujer", "" ))

rrlong1$Graduados <- as.numeric(as.character(rrlong1$Graduados))
rrlong1$year <- as.numeric(as.character(rrlong1$year))

rrplot1 <- ggplot(rrlong1, aes(x = year, y = Graduados, group = tiempo,color = tiempo)) +
  geom_point(color = paletteer_c("grDevices::rainbow", 44)) +
  geom_line() + 
  theme_minimal() + 
  transition_reveal(year) 

animate(rrplot1, 90, 5)

HOMBRES

rrlong2 <- rr %>% 
  pivot_longer(cols = 2:13, names_to = "year")

rrlong2 <- rrlong2 %>% 
  filter(year %in% c("2017Hombre", "2018Hombre", "2019Hombre", "2020Hombre")) %>% group_by(tiempo, year) %>% mutate(Graduados = sum(value))

rrlong2 <- rrlong2 %>% mutate(year = str_replace(year, "Hombre", "" ))

rrlong2$Graduados <- as.numeric(as.character(rrlong2$Graduados))
rrlong2$year <- as.numeric(as.character(rrlong2$year))

rrplot2 <- ggplot(rrlong2, aes(x = year, y = Graduados, group = tiempo,color = tiempo)) +
  geom_point(color = paletteer_c("grDevices::rainbow", 44)) +
  geom_line() + 
  theme_minimal() + 
  transition_reveal(year) 

animate(rrplot2, 90, 5)

12. Nacionalidad del estudiantado de la UV

mm <- mm %>%
  select(`Nacionalidad`,`2017`,`2018`,`2019`,`2020`)

mmlong <- mm %>% pivot_longer(cols = 2:5, names_to = "periodo")

mmdf <- mmlong %>%
  drop_na() %>%
  group_by(Nacionalidad, periodo)  %>%
  summarise(matriculados = sum(value)) 

mmplot <- ggplot(mmdf, aes(matriculados, Nacionalidad, group=Nacionalidad, colour = Nacionalidad)) +
  geom_point(alpha = 1/2) +
  scale_size(range = c(4, 14)) +
  scale_x_log10() + 
  theme_minimal() + 
  theme(axis.text.x=element_blank(), axis.ticks.x =element_blank(), axis.text.y=element_blank(), axis.ticks.y =element_blank(), legend.position = "none")+
  labs(title = "Evolución Nacionalidad") +
  facet_wrap(~periodo) 

ggplotly(mmplot)

10 países con más matriculados en la UV

mm <- mm %>%
  select(`Nacionalidad`,`2017`,`2018`,`2019`,`2020`) %>% slice_max(`2020`, n=10)

mmlong <- mm %>% pivot_longer(cols = 2:5, names_to = "periodo")

mmdf <- mmlong %>%
  drop_na() %>%
  group_by(Nacionalidad, periodo)  %>%
  summarise(matriculados = sum(value)) 

mmplot <- ggplot(mmdf, aes(matriculados, Nacionalidad, group=Nacionalidad, colour = Nacionalidad)) +
  geom_point(alpha = 1/2) +
  scale_size(range = c(4, 14)) +
  scale_x_log10() + 
  theme_minimal() + 
  theme(axis.text.x=element_blank(), axis.ticks.x =element_blank(), axis.text.y=element_blank(), axis.ticks.y =element_blank(), legend.position = "none")+
  labs(title = "Evolución Nacionalidad") +
  facet_wrap(~Nacionalidad) 

ggplotly(mmplot)

13. ESTUDIOS FAMILIARES .

PADRE

jjdf <- jj %>%
select(`estudios`,`2020`) 

jjdf <- jjdf %>%
head(jjdf, n = 10) %>%
arrange(desc(`2020`))

jjdf$`2020` <- as.numeric(as.character(jjdf$`2020`))

jjplot <- ggplot(jjdf, aes(`estudios`,`2020`)) + 
  geom_point(color = paletteer_c("grDevices::Emrld", 10)) + 
  geom_segment(aes(x=forcats::fct_reorder(`estudios`,`2020`, .desc = TRUE),
                   xend=forcats::fct_reorder(`estudios`,`2020`, .desc = TRUE),
                   y=0,
                   yend=`2020`, color = estudios )) + 
  geom_smooth(method = "lm", position = "identity") +
  theme(axis.title.x=element_blank(),
        axis.text.x=element_blank(),
        axis.ticks.x=element_blank()) +
  labs(title = "Padre 2020", 
              x = "Estudios") +
  theme(legend.position="none") + coord_flip()

ggplotly(jjplot) 

MADRE

iidf <- ii %>%
select(`estudios`,`2020`) 

iidf <- iidf %>%
head(iidf, n = 10) %>%
arrange(desc(`2020`))

iidf$`2020` <- as.numeric(as.character(iidf$`2020`))

iiplot <- ggplot(iidf, aes(`estudios`,`2020`)) + 
  geom_point(color = paletteer_c("grDevices::Emrld", 10)) + 
  geom_segment(aes(x=forcats::fct_reorder(`estudios`,`2020`, .desc = TRUE),
                   xend=forcats::fct_reorder(`estudios`,`2020`, .desc = TRUE),
                   y=0,
                   yend=`2020`, color = estudios )) + 
  geom_smooth(method = "lm", position = "identity") +
  theme(axis.title.x=element_blank(),
        axis.text.x=element_blank(),
        axis.ticks.x=element_blank()) +
  labs(title = "Madre 2020", 
              x = "Estudios") +
  theme(legend.position="none") + coord_flip()

ggplotly(iiplot) 

14. TRABAJO FAMILIARES .

PADRE


kkdf <- kk %>%
  drop_na() %>%
  select(trabajo, '2020') 

kkplot <- wordcloud2(data = kkdf, size = 0.1,color = paletteer_c("grDevices::rainbow", 20))

kkplot

MADRE


lldf <- ll %>%
  select(trabajo, '2020') 

llplot <- wordcloud2(data = lldf, size = 0.1,color = paletteer_c("grDevices::rainbow", 20))

llplot

16. Sesión Informativa

Información de mi R-sesión:

- Session info ---------------------------------------------------------------
 setting  value                       
 version  R version 4.1.1 (2021-08-10)
 os       Windows 10 x64              
 system   x86_64, mingw32             
 ui       RTerm                       
 language (EN)                        
 collate  Spanish_Spain.1252          
 ctype    Spanish_Spain.1252          
 tz       Europe/Paris                
 date     2022-01-03                  

- Packages -------------------------------------------------------------------
 package      * version    date       lib source                        
 assertthat     0.2.1      2019-03-21 [1] CRAN (R 4.1.1)                
 backports      1.2.1      2020-12-09 [1] CRAN (R 4.1.1)                
 bookdown       0.24       2021-09-02 [1] CRAN (R 4.1.1)                
 broom          0.7.9      2021-07-27 [1] CRAN (R 4.1.1)                
 bslib          0.3.0      2021-09-02 [1] CRAN (R 4.1.1)                
 cellranger     1.1.0      2016-07-27 [1] CRAN (R 4.1.1)                
 cli            3.0.1      2021-07-17 [1] CRAN (R 4.1.1)                
 clipr          0.7.1      2020-10-08 [1] CRAN (R 4.1.1)                
 colorspace     2.0-2      2021-06-24 [1] CRAN (R 4.1.1)                
 corrplot     * 0.90       2021-06-30 [1] CRAN (R 4.1.1)                
 countrycode  * 1.3.0      2021-07-15 [1] CRAN (R 4.1.1)                
 cowplot      * 1.1.1      2020-12-30 [1] CRAN (R 4.1.1)                
 crayon         1.4.2      2021-10-29 [1] CRAN (R 4.1.2)                
 crosstalk      1.1.1      2021-01-12 [1] CRAN (R 4.1.1)                
 curl           4.3.2      2021-06-23 [1] CRAN (R 4.1.1)                
 data.table   * 1.14.0     2021-02-21 [1] CRAN (R 4.1.1)                
 DBI            1.1.2      2021-12-20 [1] CRAN (R 4.1.2)                
 dbplyr         2.1.1      2021-04-06 [1] CRAN (R 4.1.1)                
 desc           1.4.0      2021-09-28 [1] CRAN (R 4.1.1)                
 details        0.2.1      2020-01-12 [1] CRAN (R 4.1.2)                
 digest         0.6.28     2021-09-23 [1] CRAN (R 4.1.1)                
 dplyr        * 1.0.7      2021-06-18 [1] CRAN (R 4.1.1)                
 ellipsis       0.3.2      2021-04-29 [1] CRAN (R 4.1.1)                
 evaluate       0.14       2019-05-28 [1] CRAN (R 4.1.1)                
 fansi          0.5.0      2021-05-25 [1] CRAN (R 4.1.1)                
 farver         2.1.0      2021-02-28 [1] CRAN (R 4.1.1)                
 fastmap        1.1.0      2021-01-25 [1] CRAN (R 4.1.1)                
 forcats      * 0.5.1      2021-01-27 [1] CRAN (R 4.1.1)                
 foreign        0.8-81     2020-12-22 [2] CRAN (R 4.1.1)                
 fs             1.5.0      2020-07-31 [1] CRAN (R 4.1.1)                
 gapminder    * 0.3.0      2017-10-31 [1] CRAN (R 4.1.1)                
 generics       0.1.1      2021-10-25 [1] CRAN (R 4.1.2)                
 GGally       * 2.1.2      2021-06-21 [1] CRAN (R 4.1.1)                
 gganimate    * 1.0.7      2020-10-15 [1] CRAN (R 4.1.1)                
 ggplot2      * 3.3.5      2021-06-25 [1] CRAN (R 4.1.1)                
 ggthemes     * 4.2.4      2021-01-20 [1] CRAN (R 4.1.1)                
 gifski         1.4.3-1    2021-05-02 [1] CRAN (R 4.1.1)                
 glue           1.4.2      2020-08-27 [1] CRAN (R 4.1.1)                
 gtable         0.3.0      2019-03-25 [1] CRAN (R 4.1.1)                
 haven          2.4.3      2021-08-04 [1] CRAN (R 4.1.1)                
 here           1.0.1      2020-12-13 [1] CRAN (R 4.1.1)                
 highcharter  * 0.8.2      2020-07-26 [1] CRAN (R 4.1.2)                
 highr          0.9        2021-04-16 [1] CRAN (R 4.1.1)                
 hms            1.1.1      2021-09-26 [1] CRAN (R 4.1.2)                
 htmltools      0.5.2      2021-08-25 [1] CRAN (R 4.1.1)                
 htmlwidgets    1.5.4      2021-09-08 [1] CRAN (R 4.1.1)                
 httr           1.4.2      2020-07-20 [1] CRAN (R 4.1.1)                
 igraph         1.2.6      2020-10-06 [1] CRAN (R 4.1.1)                
 jquerylib      0.1.4      2021-04-26 [1] CRAN (R 4.1.1)                
 jsonlite       1.7.2      2020-12-09 [1] CRAN (R 4.1.1)                
 klippy       * 0.0.0.9500 2021-12-07 [1] Github (rlesur/klippy@378c247)
 knitr        * 1.36       2021-09-29 [1] CRAN (R 4.1.1)                
 labeling       0.4.2      2020-10-20 [1] CRAN (R 4.1.1)                
 lattice        0.20-44    2021-05-02 [2] CRAN (R 4.1.1)                
 lazyeval       0.2.2      2019-03-15 [1] CRAN (R 4.1.1)                
 lifecycle      1.0.1      2021-09-24 [1] CRAN (R 4.1.1)                
 lubridate    * 1.7.10     2021-02-26 [1] CRAN (R 4.1.1)                
 magrittr       2.0.1      2020-11-17 [1] CRAN (R 4.1.1)                
 modelr         0.1.8      2020-05-19 [1] CRAN (R 4.1.1)                
 munsell        0.5.0      2018-06-12 [1] CRAN (R 4.1.1)                
 openxlsx       4.2.4      2021-06-16 [1] CRAN (R 4.1.1)                
 paletteer    * 1.4.0      2021-07-20 [1] CRAN (R 4.1.2)                
 pillar         1.6.4      2021-10-18 [1] CRAN (R 4.1.1)                
 pkgconfig      2.0.3      2019-09-22 [1] CRAN (R 4.1.1)                
 plotly       * 4.9.4.1    2021-06-18 [1] CRAN (R 4.1.1)                
 plyr           1.8.6      2020-03-03 [1] CRAN (R 4.1.1)                
 png            0.1-7      2013-12-03 [1] CRAN (R 4.1.1)                
 prettyunits    1.1.1      2020-01-24 [1] CRAN (R 4.1.1)                
 prismatic      1.1.0      2021-10-17 [1] CRAN (R 4.1.1)                
 progress       1.2.2      2019-05-16 [1] CRAN (R 4.1.1)                
 purrr        * 0.3.4      2020-04-17 [1] CRAN (R 4.1.1)                
 quantmod       0.4.18     2020-12-09 [1] CRAN (R 4.1.1)                
 R6             2.5.1      2021-08-19 [1] CRAN (R 4.1.1)                
 RColorBrewer   1.1-2      2014-12-07 [1] CRAN (R 4.1.1)                
 Rcpp           1.0.7      2021-07-07 [1] CRAN (R 4.1.1)                
 readr        * 2.0.1      2021-08-10 [1] CRAN (R 4.1.1)                
 readxl         1.3.1      2019-03-13 [1] CRAN (R 4.1.1)                
 rematch2       2.1.2      2020-05-01 [1] CRAN (R 4.1.1)                
 reprex         2.0.1      2021-08-05 [1] CRAN (R 4.1.1)                
 reshape        0.8.8      2018-10-23 [1] CRAN (R 4.1.1)                
 rio          * 0.5.27     2021-06-21 [1] CRAN (R 4.1.1)                
 rlang          0.4.11     2021-04-30 [1] CRAN (R 4.1.1)                
 rlist          0.4.6.2    2021-09-03 [1] CRAN (R 4.1.2)                
 rmarkdown      2.11       2021-09-14 [1] CRAN (R 4.1.1)                
 rmdformats     1.0.3      2021-10-06 [1] CRAN (R 4.1.2)                
 rprojroot      2.0.2      2020-11-15 [1] CRAN (R 4.1.1)                
 rstudioapi     0.13       2020-11-12 [1] CRAN (R 4.1.1)                
 rvest          1.0.1      2021-07-26 [1] CRAN (R 4.1.1)                
 sass           0.4.0      2021-05-12 [1] CRAN (R 4.1.1)                
 scales       * 1.1.1      2020-05-11 [1] CRAN (R 4.1.1)                
 sessioninfo    1.1.1      2018-11-05 [1] CRAN (R 4.1.1)                
 stringi        1.7.4      2021-08-25 [1] CRAN (R 4.1.1)                
 stringr      * 1.4.0      2019-02-10 [1] CRAN (R 4.1.1)                
 tibble       * 3.1.4      2021-08-25 [1] CRAN (R 4.1.1)                
 tidyr        * 1.1.3      2021-03-03 [1] CRAN (R 4.1.1)                
 tidyselect     1.1.1      2021-04-30 [1] CRAN (R 4.1.1)                
 tidyverse    * 1.3.1      2021-04-15 [1] CRAN (R 4.1.1)                
 TTR            0.24.2     2020-09-01 [1] CRAN (R 4.1.1)                
 tweenr         1.0.2      2021-03-23 [1] CRAN (R 4.1.1)                
 tzdb           0.1.2      2021-07-20 [1] CRAN (R 4.1.1)                
 utf8           1.2.2      2021-07-24 [1] CRAN (R 4.1.1)                
 vctrs          0.3.8      2021-04-29 [1] CRAN (R 4.1.1)                
 viridisLite    0.4.0      2021-04-13 [1] CRAN (R 4.1.2)                
 withr          2.4.3      2021-11-30 [1] CRAN (R 4.1.2)                
 wordcloud2   * 0.2.1      2018-01-03 [1] CRAN (R 4.1.2)                
 xfun           0.26       2021-09-14 [1] CRAN (R 4.1.1)                
 xml2           1.3.2      2020-04-23 [1] CRAN (R 4.1.1)                
 xts            0.12.1     2020-09-09 [1] CRAN (R 4.1.1)                
 yaml           2.2.1      2020-02-01 [1] CRAN (R 4.1.1)                
 zip            2.2.0      2021-05-31 [1] CRAN (R 4.1.1)                
 zoo            1.8-9      2021-03-09 [1] CRAN (R 4.1.1)                

[1] C:/Users/Vanesa/Documents/R/win-library/4.1
[2] C:/Program Files/R/R-4.1.1/library