Análisis de las inversiones de EEUU entre 1947 y 2017 | Macarena Quiroga

Análisis de las inversiones de EEUU entre 1947 y 2017

Contribución a #TidyTuesday, semana 33

Hacía mucho tiempo que no participaba de #TidyTuesday: un poco por falta de tiempo, otro poco porque los datasets que publicaban no me motivaban, y un poco porque ya me daba vergüenza subir siempre lo mismo. Pero hoy, después de haberle dedicado tres horas de mi domingo al livestream de Kierisi sobre Machine Learning, me quedé con ganas de seguir practicando programa en R.

(Para quienes no sepan: #TidyTuesday es un proyecto colaborativo que consiste en trabajar cada semana con un set de datos reales para practicar visualización y otras habilidades del mundo de la ciencia de datos. Pueden encontrar más información en su repositorio de GitHub y bajo el hashtag en twitter.)

Empecemos con la organización general:

library(tidytuesdayR)
library(tidyverse)
library(hrbrthemes)
library(streamgraph)
library(htmlwidgets)
library(webshot)

tuesdata <- tidytuesdayR::tt_load('2021-08-10')
## 
## 	Downloading file 1 of 3: `ipd.csv`
## 	Downloading file 2 of 3: `chain_investment.csv`
## 	Downloading file 3 of 3: `investment.csv`
investment <- tuesdata$investment
chain_investment <- tuesdata$chain_investment
ipd <- tuesdata$ipd


# Análisis Exploratorio ----------------------------------------------------

glimpse(investment)
## Rows: 6,106
## Columns: 5
## $ category  <chr> "Total basic infrastructure", "Total basic infrastructure", …
## $ meta_cat  <chr> "Total infrastructure", "Total infrastructure", "Total infra…
## $ group_num <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ year      <dbl> 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, …
## $ gross_inv <dbl> 4974.662, 6486.770, 7376.143, 7943.959, 8961.233, 9707.590, …
glimpse(chain_investment) # cuánto cambió a lo largo del tiempo, actualizado
## Rows: 6,035
## Columns: 5
## $ category        <chr> "Total basic infrastructure", "Total basic infrastruct…
## $ meta_cat        <chr> "Total infrastructure", "Total infrastructure", "Total…
## $ group_num       <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ year            <dbl> 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, …
## $ gross_inv_chain <dbl> 73278.62, 83218.25, 95760.00, 103642.40, 102264.39, 10…
glimpse(ipd)
## Rows: 6,106
## Columns: 5
## $ category      <chr> "GDP", "GDP", "GDP", "GDP", "GDP", "GDP", "GDP", "GDP", …
## $ meta_cat      <chr> "GDP", "GDP", "GDP", "GDP", "GDP", "GDP", "GDP", "GDP", …
## $ group_num     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ year          <dbl> 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 19…
## $ gross_inv_ipd <dbl> 12.250, 12.946, 12.942, 13.064, 13.950, 14.254, 14.436, …
investment %>% group_by(category) %>% count()
## # A tibble: 60 × 2
## # Groups:   category [60]
##    category                                n
##    <chr>                               <int>
##  1 Air transportation                     71
##  2 All federal                            71
##  3 Conservation and development           71
##  4 Education                              71
##  5 Federal                               639
##  6 Federal electric power structures      71
##  7 Health                                 71
##  8 Highways and streets                   71
##  9 Office buildings, NAICS 518 and 519    71
## 10 Other federal                          71
## # ℹ 50 more rows
investment %>% group_by(meta_cat) %>% count()
## # A tibble: 16 × 2
## # Groups:   meta_cat [16]
##    meta_cat                             n
##    <chr>                            <int>
##  1 Air /water /other transportation   852
##  2 Conservation and development       213
##  3 Digital                            355
##  4 Education                          426
##  5 Electric power                     426
##  6 Health                             497
##  7 Highways and streets               142
##  8 Natural gas /petroleum power       213
##  9 Power                              213
## 10 Public safety                      355
## 11 Sewer and waste                    142
## 12 Social                             426
## 13 Total basic infrastructure         568
## 14 Total infrastructure               426
## 15 Transportation                     710
## 16 Water supply                       142

El dataset de esta semana era sobre inversiones en EEUU durante el período de tiempo que va desde 1947 hasta 2017. Tengo que confesar que tampoco me motivaba mucho la temática; además, los tres dataframes que traían eran muy parecidos y con algunas terminologías sobre economía que no entendía del todo. Pero sí tenía ganas de hacer algo, y eso fue suficiente.

Decidí no procrastinar demasiado y hacer por lo menos dos gráficos sobre algún terreno conocido, así que elegí educación.

Primera pregunta: ¿cómo cambió la inversión federal en educación a lo largo de este período de tiempo?

Este fue, digamos, el gráfico conocido y fácil: elegí hace un gráfico de líneas para mostrar la evolución de la inversión y elegí un solo tópico para innovar: dejar los demás valores de la variable categórica “áreas de inversión” en gris, y resaltar solamente el área de educación.

investment %>% 
  filter(category=="Federal") %>% 
  mutate(highligth = ifelse(meta_cat=="Education", "Education", "Other")) %>% 
  group_by(meta_cat, year) %>% 
  ggplot(aes(x = year, y = gross_inv, group = meta_cat, size = highligth))+
  geom_line()+
  scale_color_manual(values = c("#69b3a2", "lightgrey"))+
  scale_size_manual(values=c(1.5,0.2))+
  theme_ipsum()+
  theme(legend.position = "none")+
  labs(x="", y="",
       title="Evolución de la inversión federal en educación",
       caption = "Data: Bureau of Economic Analysis | Plot: @_msquiroga | #TidyTuesday")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Estoy bastante satisfecha con el resultado. En general, suelo preferir los gráficos coloridos y con mucha información, pero justamente la sensación es que terminan siendo confusos y con la información solapada. En cambio, este gráfico me pareció claro y con un diseño sobrio.

Segunda pregunta: ¿cómo evolucionaron las distintas fuentes de inversión a lo largo del tiempo?

Primero pensé en hacer un gráfico similar al anterior: un gráfico de áreas apiladas. Pero mirando R Graph Gallery, uno de los mejores recursos de visualización que existen, pensé que podía ser una buena idea probar con el paquete StreamGraph para hacer, bueno, gráficos “de corriente” interactivos. En general no soy muy amiga de usar otros paquetes que no sean ggplot2, no por fundamentalista, sino solamente porque es lo que más manejo. Pero bueno, hay que innovar.

graph <- investment %>% 
  filter(meta_cat == "Education") %>% 
  streamgraph(., key = "category", value = "gross_inv", date="year") %>% 
  sg_legend(TRUE, "Fuente de inversión")
graph

El hecho de que el resultado fuera un html y no una imagen me resultó un poco problemático: no pude compartirla en twitter con su versión interactiva. Pero por suerte aquí sí (y de paso leí un poco más sobre widgets en el libro RMarkdown: The definitive guide).

A mejorar:

El gráfico “de corriente” se ve muy lindo, pero es poco claro (de hecho, lo que se ve en el primer gráfico, que es la inversión federal, casi no se ve en el segundo). Es decir, las cantidades desproporcionadas deberían poder verse igual, a pesar de ser desproporcionadas. Por otro lado, el recuadro selector desapareció aquí, en RMarkdown, a pesar de que lo veo bien en el widget que descargo. No tengo idea de a qué se debe.

Macarena Quiroga
Macarena Quiroga
Lingüista/Becaria doctoral

Investigo la adquisición del lenguaje. Estudio estadística y ciencia de datos con R/Rstudio. Si te gusta lo que hago, podés invitarme un cafecito desde Argentina, o un kofi desde otros países. Suscribite a mi blog aquí.

Relacionado