Ejercicio N° 2 - Modelado Estadístico

Vamos a hacer el ejercicio del manual Ciencia de Datos para Activismo JurĂ­dico.

library(tidyverse)

crimenes_odio <- read_csv("https://cdaj.netlify.app/data/crimenes_odio_EEUU.csv")

Ahora vamos a tomar la variable de nivel de ingreso y ver cĂłmo incide con los crĂ­menes de odio.

crimenesXnivel<- crimenes_odio |> 
  select("mediana_ingreso_hogares", "crimenes_odio_prom_100k_fbi")

Con esos datos, vamos a hacer el gráfico.

ggplot(crimenesXnivel) +
  geom_point(aes(x=mediana_ingreso_hogares, y = crimenes_odio_prom_100k_fbi), na.rm = TRUE) +
  labs(title = "CorrelaciĂłn entre ingesos medios por hogar y crĂ­menes de odio",
         subtitle = "CrĂ­menes cada 100.000 habitantes, promedio 2010-2016",
         x = "mediana de ingresos por hogar (miles USD)",
         y = "tasa de crĂ­menes")

Vamos a obtener la correlaciĂłn entre dos variables

library(moderndive)
## moderndive's `View()` renders a DT::datatable() inline here instead of erroring like `utils::View()`.
## 
## Attaching package: 'moderndive'
## The following object is masked from 'package:utils':
## 
##     View
crimenesXnivel |> 
  get_correlation(crimenes_odio_prom_100k_fbi ~ mediana_ingreso_hogares, na.rm = TRUE)
## # A tibble: 1 Ă— 1
##     cor
##   <dbl>
## 1 0.242

Podríamos decir que la correlación es débil, pero ahora vamos a ver el “efecto” que tiene la variable de ingresos sobre la tasa de crímenes.

Para determinarla, vamos a hacer la regresiĂłn lineal.

regresion <- lm(data = crimenesXnivel,
                crimenes_odio_prom_100k_fbi ~ mediana_ingreso_hogares)

summary(regresion)
## 
## Call:
## lm(formula = crimenes_odio_prom_100k_fbi ~ mediana_ingreso_hogares, 
##     data = crimenesXnivel)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.95997 -0.94687 -0.04704  1.00896  2.40151 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)  
## (Intercept)              0.41199    1.05405   0.391   0.6977  
## mediana_ingreso_hogares  0.03259    0.01905   1.711   0.0937 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.174 on 47 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.05863,    Adjusted R-squared:  0.0386 
## F-statistic: 2.927 on 1 and 47 DF,  p-value: 0.0937

Finalmente, hacemos el gráfico de la correlación de las variables con la regresión lineal.

ggplot(crimenesXnivel) +
  geom_point(aes(x=mediana_ingreso_hogares, y = crimenes_odio_prom_100k_fbi), na.rm = TRUE) +
  labs(title = "CorrelaciĂłn entre ingesos medios por hogar y crĂ­menes de odio",
         subtitle = "CrĂ­menes cada 100.000 habitantes, promedio 2010-2016",
         x = "mediana de ingresos por hogar (miles USD)",
         y = "tasa de crĂ­menes") +
    geom_smooth(aes(x=mediana_ingreso_hogares, y =crimenes_odio_prom_100k_fbi), method = "lm", na.rm = TRUE)
## `geom_smooth()` using formula = 'y ~ x'