## 'data.frame': 51 obs. of 5 variables:
## $ state : chr "Alabama" "Alaska" "Arizona" "Arkansas" ...
## $ abb : chr "AL" "AK" "AZ" "AR" ...
## $ region : Factor w/ 4 levels "Northeast","South",..: 2 4 4 2 4 4 1 2 2 2 ...
## $ population: num 4779736 710231 6392017 2915918 37253956 ...
## $ total : num 135 19 232 93 1257 ...
## state abb region population
## Length:51 Length:51 Northeast : 9 Min. : 563626
## Class :character Class :character South :17 1st Qu.: 1696962
## Mode :character Mode :character North Central:12 Median : 4339367
## West :13 Mean : 6075769
## 3rd Qu.: 6636084
## Max. :37253956
## total
## Min. : 2.0
## 1st Qu.: 24.5
## Median : 97.0
## Mean : 184.4
## 3rd Qu.: 268.0
## Max. :1257.0
## [1] 51 5
El conjunto de datos murders contiene información sobre la cantidad total de asesinatos en los distintos estados de Estados Unidos, junto con la población y la región geográfica a la que pertenecen.
Estos datos permiten analizar la distribución de la violencia entre estados, asimismo permiten comparar niveles de criminalidad utilizando tanto valores absolutos como relativos. Para obtener mejores resultados, se calcula una nueva variable denominada rate, la cual representa la tasa de asesinatos por cada 100,000 habitantes.
El conjunto de datos utilizado corresponde a información sobre asesinatos con armas de fuego en Estados Unidos durante el año 2010. Los datos provienen de reportes del FBI y fueron recopilados desde Wikipedia.
Fuente: https://github.com/rafalab/dslabs/blob/master/man/murders.Rd
Plantilla de tabla resumen:
| Variable | Descripción |
|---|---|
| state | Nombre del estado |
| abb | Abreviatura del estado |
| region | Región geográfica del estado |
| population | Población total del estado |
| total | Número total de asesinatos |
| rate | Tasa de asesinatos por cada 100,000 habitantes |
# Cargar archivo de datos
data("murders")
# Variable para hacer el rate cada 100,000 habitantes
murders <- murders %>%
mutate(rate = total / population * 100000)
# Agrupo por region
region_data <- murders %>%
group_by(region) %>%
summarise(avg_rate = mean(rate))
# TOp 10 descendiente
top10 <- murders %>%
arrange(desc(rate)) %>%
head(10)
# Código R de primer gráfico
p <- ggplot(murders, aes(
x = total,
y = rate,
color = region,
text = paste("Estado:", state,
"<br>Total:", total,
"<br>Tasa:", round(rate, 2))
)) +
geom_point(size = 3) +
labs(
title = "Relación entre asesinatos totales y tasa de asesinatos",
x = "Total de asesinatos",
y = "Tasa de asesinatos",
color = "Región"
) +
theme_minimal()
ggplotly(p, tooltip = "text")
En esta gráfica se representan las variables total (número total de asesinatos) en el eje X y rate (tasa de asesinatos por cada 100,000 habitantes) en el eje Y, diferenciadas por región. Estas variables se eligieron para comparar los valores absolutos de asesinatos con una medida relativa que toma en cuenta el tamaño de la población.
Se observa que no existe una relación directa entre ambas variables, ya que algunos estados con altos valores absolutos no necesariamente presentan tasas elevadas. Esto se debe a que la tasa depende del tamaño de la población.
Por ejemplo, un estado con una población muy grande puede tener un número alto de asesinatos, pero al calcular la tasa, su nivel relativo de criminalidad puede ser menor que el de un estado con menos población pero más casos en proporción. Si no se utiliza la tasa, se podría concluir erróneamente que el estado más poblado es el más violento.
# Código R para segundo gráfico
ggplot(top10, aes(x = reorder(state, rate), y = rate, fill = region)) +
geom_bar(stat = "identity") +
coord_flip() +
labs(
title = "Top 10 estados con mayor tasa de asesinatos",
x = "Estado",
y = "Tasa de asesinatos (por 100,000 habitantes)",
fill = "Región"
) +
theme_minimal()
En esta gráfica se representan los estados con mayor tasa de asesinatos (rate), mostrando en el eje X los estados y en el eje Y la tasa de asesinatos por cada 100,000 habitantes. Esta selección permite identificar de forma clara cuáles son los estados con mayores niveles relativos de criminalidad.
Se observa que varios de los estados con mayor tasa pertenecen a la región Sur, lo que sugiere la existencia de patrones geográficos en los niveles de violencia. La información principal que se busca destacar es que ciertos estados presentan valores significativamente más altos en comparación con otros, lo que permite enfocar el análisis en los casos más críticos.
ggplot(murders, aes(x = rate)) +
geom_histogram(binwidth = 0.5, fill = "steelblue", color = "black") +
labs(
title = "Distribución de la tasa de asesinatos",
x = "Tasa de asesinatos (por 100,000)",
y = "Cantidad de estados"
) +
theme_minimal()
El histograma muestra la distribución de la tasa de asesinatos por cada 100,000 habitantes. Para su construcción se utilizó la variable numérica rate en el eje X, ya que permite analizar la frecuencia de los valores de la tasa, mientras que el eje Y representa la cantidad de estados en cada intervalo.
La mayoría de los estados se concentra en tasas bajas (aprox. entre 1 y 4). Sin embargo, hay pocos estados con tasas mucho más altas, lo que genera una distribución sesgada a la derecha y evidencia que el riesgo no es uniforme entre los estados.
region_avg <- murders %>%
group_by(region) %>%
summarise(avg_rate = mean(rate))
ggplot(region_avg, aes(x = region, y = avg_rate, fill = region)) +
geom_bar(stat = "identity") +
labs(
title = "Promedio de tasa de asesinatos por región",
x = "Región",
y = "Tasa promedio"
) +
theme_minimal()
El gráfico de barras muestra el promedio de la tasa de asesinatos por cada 100,000 habitantes en cada región. Para su construcción se utilizó la variable categórica (region) en el eje X, ya que permite agrupar los estados por ubicación geográfica, y la variable (rate) en el eje Y, debido a que representa una medida proporcional que permite comparar de forma justa entre estados con diferentes tamaños de población.
Se observa que existen diferencias entre regiones, donde algunas presentan tasas promedio más altas que otras. Esto indica que el nivel de riesgo no es uniforme geográficamente y que ciertas regiones concentran mayor incidencia de asesinatos. En particular, la región Sur presenta la tasa promedio más alta (aproximadamente 4.5), evidenciando una mayor concentración del fenómeno en esa zona.
top_total <- murders %>%
arrange(desc(total)) %>%
slice(1:10)
ggplot(top_total,aes(x=reorder(state,total), y = total, fill=region))+
geom_bar(stat = "identity")+
coord_flip()+
labs(title = "Top 10 por total, valores absolutos",x="Estado",y="Total",color="Región")+
theme_minimal()
## Ignoring unknown labels:
## • colour : "Región"
top_rate <- murders %>%
arrange(desc(rate)) %>%
slice(1:10)
ggplot(top_rate, aes(x = reorder(state, rate), y = rate, fill = region)) +
geom_bar(stat = "identity") +
coord_flip() +
labs(
title = "Top 10 estados con mayor tasa de asesinatos",
x = "Estado",
y = "Tasa (por 100,000 habitantes)",
fill = "Región"
) +
theme_minimal()
Se presentan dos gráficos de barras: el primero muestra el top 10 de estados con mayor número total de asesinatos y el segundo el top 10 con mayor tasa de asesinatos por cada 100,000 habitantes. Para su construcción se utilizaron las variables (state) en el eje X para los estados, (total) en el primer gráfico y rate en el segundo como variables numéricas en el eje Y. Además, se empleó (region) para diferenciar mediante color las regiones geográficas.
Se observa que los estados con mayor número total de asesinatos no coinciden necesariamente con los que tienen mayor tasa. Esto evidencia que los valores absolutos pueden ser engañosos, ya que están influenciados por la población, mientras que la tasa permite una comparación más justa del nivel de riesgo entre estados.
A partir del análisis del conjunto de datos murders, se aplicaron diversas técnicas vistas en clase, como la exploración de datos, transformación de variables y visualización mediante gráficos. Inicialmente, se realizó una inspección del dataset para comprender la estructura, tipos de variables y posibles valores faltantes.
Posteriormente, se creó una nueva variable denominada rate, que representa la tasa de asesinatos por cada 100,000 habitantes, permitiendo realizar comparaciones más adecuadas entre estados con diferentes tamaños de población. Esta transformación fue clave para mejorar la interpretación de los datos.
Mediante el uso de gráficas de dispersión y diagramas de barras, se logró identificar que no existe una relación directa entre el número total de asesinatos y la tasa de asesinatos. Además, se observó que varios de los estados con mayores tasas pertenecen a la región Sur, lo que sugiere la existencia de patrones geográficos en los niveles de violencia.
En conclusión, el uso de técnicas de análisis exploratorio de datos permitió comprender mejor la información disponible y extraer conclusiones relevantes, demostrando la importancia de transformar y visualizar los datos correctamente antes de interpretarlos.