Barrios ricos y pobres

Me sorprendió la información sobre los barrios y la correlación que apareció en una notícia. Así que aquí rehago los graficos a partir de los datos descargados de la notícia:

eco <- read.csv(here::here("static", "data-dLHsB.csv"), check.names = FALSE)

Primer gráfico

Con los datos descargados he reproducio la primera gráfica, con la única excepción que no he usado el IPC. En vez del IPC he puesto la mediana del incremento.

  1. En primer lugar porque el IPC varia cada año, y aquí estamos mirando el cambio en 4 años.
  2. En segundo lugar, porque el gráfico se usa para enseñar que las rentas más bajas no progresan tanto como las más altas. Y creo que para comparar el progreso en los diferentes percentiles hay que mirar la mediana:
library("ggplot2")
library("scales")
library("plotly")
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
p1 <- ggplot(data = eco) +
  geom_violin(aes(Grupo, `Variación 2013-2017 (%)`, col = Grupo)) +
  geom_jitter(aes(Grupo, `Variación 2013-2017 (%)`, col = Grupo,
                  text = paste("Barrio:", Nombre, "\nMunicipio:", Municipio))) +
  geom_abline(intercept = median(eco$`Variación 2013-2017 (%)`), slope = 0, 
              col = "red") +
  scale_color_viridis_d() +
  guides(col = FALSE) +
  theme_minimal() 
## Warning: Ignoring unknown aesthetics: text
ggplotly(p1, tooltip = c("text", "x", "y"), layerData = 3)

Tanto el grupo más pobre como los más ricos estan por encima de la mediana mayoritariamente.

Segundo gráfico

El segundo gráfico parece indicar una correlación positiva. Ahora bien, cuando lo reproducimos, podemos ver que hay mucha incerteza

p2 <- eco %>% 
  ggplot(aes(`Renta bruta media 2013 (euros)`, `Variación 2013-2017 (%)`)) +
  geom_point(aes(text = paste("Barrio:", Nombre, "\nMunicipio:", Municipio))) +
  geom_smooth(method = "lm") +
  guides(col = FALSE) +
  scale_x_continuous(labels = dollar_format(suffix = "€", prefix = ""), 
                    breaks = c(12000, 20000, 50000, 100000)) +
  # from https://stackoverflow.com/a/32265122/2886003
  theme_bw()
## Warning: Ignoring unknown aesthetics: text

ggplotly(p2)
## `geom_smooth()` using formula 'y ~ x'

Podemos ver que la correlación no és muy buena, tal y como confirma el test:

cor.test(eco[, 6], eco[, 4])
## 
##  Pearson's product-moment correlation
## 
## data:  eco[, 6] and eco[, 4]
## t = 11.811, df = 519, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.389772 0.525395
## sample estimates:
##       cor 
## 0.4602647

Sobretodo está el barrio de La Moraleja que induce a error:

eco %>% 
  lm(`Variación 2013-2017 (%)` ~ `Renta bruta media 2013 (euros)`, data = .) %>% 
  broom::tidy()
## # A tibble: 2 x 5
##   term                             estimate std.error statistic  p.value
##   <chr>                               <dbl>     <dbl>     <dbl>    <dbl>
## 1 (Intercept)                      1.11     0.623          1.79 7.48e- 2
## 2 `Renta bruta media 2013 (euros)` 0.000246 0.0000208     11.8  1.12e-28
eco %>% 
  filter(Nombre != "28109-La Moraleja") %>% 
  lm(`Variación 2013-2017 (%)` ~ `Renta bruta media 2013 (euros)`, data = .) %>% 
  broom::tidy()
## # A tibble: 2 x 5
##   term                             estimate std.error statistic  p.value
##   <chr>                               <dbl>     <dbl>     <dbl>    <dbl>
## 1 (Intercept)                      0.436    0.684         0.636 5.25e- 1
## 2 `Renta bruta media 2013 (euros)` 0.000271 0.0000233    11.6   6.28e-28

Como se puede ver al remover La Moraleja, esta tendencia és superior. En resumen no veo tan claro que solo los barrios ricos hayan augmentado su renta media.

References

Reproducibility

## ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
##  setting  value                       
##  version  R version 4.0.1 (2020-06-06)
##  os       Ubuntu 20.04.1 LTS          
##  system   x86_64, linux-gnu           
##  ui       X11                         
##  language (EN)                        
##  collate  en_US.UTF-8                 
##  ctype    en_US.UTF-8                 
##  tz       Europe/Madrid               
##  date     2021-01-08                  
## 
## ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
##  package       * version  date       lib source                           
##  assertthat      0.2.1    2019-03-21 [1] CRAN (R 4.0.1)                   
##  backports       1.2.1    2020-12-09 [1] CRAN (R 4.0.1)                   
##  blogdown        0.21.84  2021-01-07 [1] Github (rstudio/blogdown@c4fbb58)
##  bookdown        0.21     2020-10-13 [1] CRAN (R 4.0.1)                   
##  broom           0.7.3    2020-12-16 [1] CRAN (R 4.0.1)                   
##  Cairo           1.5-12.2 2020-07-07 [1] CRAN (R 4.0.1)                   
##  cli             2.2.0    2020-11-20 [1] CRAN (R 4.0.1)                   
##  colorspace      2.0-0    2020-11-11 [1] CRAN (R 4.0.1)                   
##  crayon          1.3.4    2017-09-16 [1] CRAN (R 4.0.1)                   
##  crosstalk       1.1.0.1  2020-03-13 [1] CRAN (R 4.0.1)                   
##  data.table      1.13.4   2020-12-08 [1] CRAN (R 4.0.1)                   
##  digest          0.6.27   2020-10-24 [1] CRAN (R 4.0.1)                   
##  dplyr           1.0.2    2020-08-18 [1] CRAN (R 4.0.1)                   
##  ellipsis        0.3.1    2020-05-15 [1] CRAN (R 4.0.1)                   
##  evaluate        0.14     2019-05-28 [1] CRAN (R 4.0.1)                   
##  fansi           0.4.1    2020-01-08 [1] CRAN (R 4.0.1)                   
##  generics        0.1.0    2020-10-31 [1] CRAN (R 4.0.1)                   
##  ggplot2       * 3.3.2    2020-06-19 [1] CRAN (R 4.0.1)                   
##  glue            1.4.2    2020-08-27 [1] CRAN (R 4.0.1)                   
##  gtable          0.3.0    2019-03-25 [1] CRAN (R 4.0.1)                   
##  here            1.0.1    2020-12-13 [1] CRAN (R 4.0.1)                   
##  htmltools       0.5.0    2020-06-16 [1] CRAN (R 4.0.1)                   
##  htmlwidgets     1.5.3    2020-12-10 [1] CRAN (R 4.0.1)                   
##  httr            1.4.2    2020-07-20 [1] CRAN (R 4.0.1)                   
##  jsonlite        1.7.2    2020-12-09 [1] CRAN (R 4.0.1)                   
##  knitcitations * 1.0.10   2019-09-15 [1] CRAN (R 4.0.1)                   
##  knitr           1.30     2020-09-22 [1] CRAN (R 4.0.1)                   
##  labeling        0.4.2    2020-10-20 [1] CRAN (R 4.0.1)                   
##  lattice         0.20-41  2020-04-02 [1] CRAN (R 4.0.1)                   
##  lazyeval        0.2.2    2019-03-15 [1] CRAN (R 4.0.1)                   
##  lifecycle       0.2.0    2020-03-06 [1] CRAN (R 4.0.1)                   
##  lubridate       1.7.9.2  2020-11-13 [1] CRAN (R 4.0.1)                   
##  magrittr        2.0.1    2020-11-17 [1] CRAN (R 4.0.1)                   
##  Matrix          1.2-18   2019-11-27 [1] CRAN (R 4.0.1)                   
##  mgcv            1.8-33   2020-08-27 [1] CRAN (R 4.0.1)                   
##  munsell         0.5.0    2018-06-12 [1] CRAN (R 4.0.1)                   
##  nlme            3.1-151  2020-12-10 [1] CRAN (R 4.0.1)                   
##  pillar          1.4.7    2020-11-20 [1] CRAN (R 4.0.1)                   
##  pkgconfig       2.0.3    2019-09-22 [1] CRAN (R 4.0.1)                   
##  plotly        * 4.9.2.1  2020-04-04 [1] CRAN (R 4.0.1)                   
##  plyr            1.8.6    2020-03-03 [1] CRAN (R 4.0.1)                   
##  purrr           0.3.4    2020-04-17 [1] CRAN (R 4.0.1)                   
##  R6              2.5.0    2020-10-28 [1] CRAN (R 4.0.1)                   
##  Rcpp            1.0.5    2020-07-06 [1] CRAN (R 4.0.1)                   
##  RefManageR      1.3.0    2020-11-13 [1] CRAN (R 4.0.1)                   
##  rlang           0.4.10   2020-12-30 [1] CRAN (R 4.0.1)                   
##  rmarkdown       2.6      2020-12-14 [1] CRAN (R 4.0.1)                   
##  rprojroot       2.0.2    2020-11-15 [1] CRAN (R 4.0.1)                   
##  scales        * 1.1.1    2020-05-11 [1] CRAN (R 4.0.1)                   
##  sessioninfo     1.1.1    2018-11-05 [1] CRAN (R 4.0.1)                   
##  stringi         1.5.3    2020-09-09 [1] CRAN (R 4.0.1)                   
##  stringr         1.4.0    2019-02-10 [1] CRAN (R 4.0.1)                   
##  tibble          3.0.4    2020-10-12 [1] CRAN (R 4.0.1)                   
##  tidyr           1.1.2    2020-08-27 [1] CRAN (R 4.0.1)                   
##  tidyselect      1.1.0    2020-05-11 [1] CRAN (R 4.0.1)                   
##  utf8            1.1.4    2018-05-24 [1] CRAN (R 4.0.1)                   
##  vctrs           0.3.6    2020-12-17 [1] CRAN (R 4.0.1)                   
##  viridisLite     0.3.0    2018-02-01 [1] CRAN (R 4.0.1)                   
##  withr           2.3.0    2020-09-22 [1] CRAN (R 4.0.1)                   
##  xfun            0.20     2021-01-06 [1] CRAN (R 4.0.1)                   
##  xml2            1.3.2    2020-04-23 [1] CRAN (R 4.0.1)                   
##  yaml            2.2.1    2020-02-01 [1] CRAN (R 4.0.1)                   
## 
## [1] /home/lluis/bin/R/4.0.1/lib/R/library

Edit this page

Avatar
Lluís Revilla Sancho
Data scientist

Data scientist with interests in software quality, mostly R.