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'