# Cargar las bibliotecas necesarias
library(readxl)
library(dplyr)
library(ggplot2)
library(tidyr)
library(nnet)
# Cargar los datos
datos <- read_excel("Accidentes.xlsx")
# Estadísticas descriptivas
summary(datos$`Edad Accidentado`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 26.75 35.00 37.06 46.00 77.00
table(datos$Gravedad)
##
## Incapacitante Mortal No generó incapacidad
## 306 6 4
# Visualización de la distribución de edad
ggplot(datos, aes(x=`Edad Accidentado`)) +
geom_histogram(bins=30, fill="blue", color="white") +
theme_minimal() +
labs(title="Distribución de la Edad de los Accidentados", x="Edad", y="Frecuencia")
# Visualización de la gravedad de los accidentes
ggplot(datos, aes(x=Gravedad, fill=Gravedad)) +
geom_bar() + # Esto crea las barras
geom_text(stat='count', aes(label=..count..), vjust=-0.5, position=position_dodge(width=0.9)) +
theme_minimal() +
labs(title="Gravedad de los Accidentes", x="Gravedad", y="Cantidad")
# Gráfico de barras de gravedad por sexo
ggplot(datos, aes(x=Gravedad, fill=`Sexo Accidentado`)) +
geom_bar(position="dodge", stat="count") +
geom_text(aes(label=..count..), position=position_dodge(width=0.9), vjust=-0.5, stat="count") +
labs(title="Distribución de la Gravedad de los Accidentes por Sexo", x="Gravedad", y="Cantidad") +
theme_minimal()
# Análisis de Chi-cuadrado para Sexo vs Gravedad
tabla <- table(datos$`Sexo Accidentado`, datos$Gravedad)
chisq.test(tabla)
##
## Pearson's Chi-squared test
##
## data: tabla
## X-squared = 1.3277, df = 2, p-value = 0.5149
# Análisis de la relación entre 'Agente Material' y 'Naturaleza de lesión'
ggplot(datos, aes(x=`Agente Material`, fill=`Lesión`)) +
geom_bar(position="fill") +
labs(title="Relación entre Agente Material y Naturaleza de Lesión",
x="Agente Material",
y="Proporción") +
theme_minimal() +
theme(axis.text.x = element_text(angle=90, vjust=0.5, hjust=1, size=7), # Reducir el tamaño de la letra si es necesario
legend.position = "bottom",
legend.text = element_text(size=4)) # Ajustar el tamaño de texto de la leyenda
# Análisis de ubicación de lesión por gravedad
tabla_ubicacion <- table(datos$`Ubicación de lesión`, datos$Gravedad)
chisq.test(tabla_ubicacion) # Prueba de Chi-cuadrado para independencia
##
## Pearson's Chi-squared test
##
## data: tabla_ubicacion
## X-squared = 40.992, df = 14, p-value = 0.0001784
# Distribución de edades con gráficos de densidad, separados por sexo
ggplot(datos, aes(x=`Edad Accidentado`, fill=`Sexo Accidentado`)) +
geom_density(alpha=0.5) +
labs(title="Distribución de Edad por Sexo", x="Edad", y="Densidad")
# Accidentes de trayecto
accidentes_trayecto <- datos %>%
group_by(`De trayecto`, Gravedad) %>%
summarise(Total=n(), .groups='drop') # Asegúrate de que las columnas se llaman exactamente 'De trayecto' y 'Gravedad'
# Asegúrate de que hay datos en el resumen
print(accidentes_trayecto)
## # A tibble: 5 × 3
## `De trayecto` Gravedad Total
## <chr> <chr> <int>
## 1 no Incapacitante 253
## 2 no Mortal 3
## 3 no No generó incapacidad 4
## 4 si Incapacitante 53
## 5 si Mortal 3
# Crea el gráfico y guárdalo en la variable
gráfico_trayecto <- ggplot(accidentes_trayecto, aes(x=`De trayecto`, y=Total, fill=Gravedad)) +
geom_bar(stat="identity", position="dodge") +
geom_text(aes(label=Total), vjust=-0.3, position=position_dodge(width=0.9)) + # Ajustar vjust si es necesario
labs(title="Accidentes de Trayecto por Gravedad", x="De Trayecto", y="Total de Accidentes")
# Imprime el gráfico
print(gráfico_trayecto)
# Ver la distribución de la variable 'Forma'
table(datos$Forma)
##
## Atrapada por un objeto o entre objetos
## 34
## Caída de objetos
## 44
## Caída de personas
## 77
## Esfuerzos excesivos o falsos movimientos
## 21
## Exposición a, o contacto con, la corriente eléctrica
## 2
## Exposición a, o contacto con, sustancias nocivas o radiaciones
## 3
## Exposición a, o contacto con, temperaturas extremas
## 7
## Otras formas de accidente, no clasificadas bajo otros epígrafes, incluidos aquellos accidentes no clasificados por falta de datos suficientes
## 33
## Pisadas sobre, choques contra, o golpes por objetos, a excepción de caídas de objetos
## 95
# Tabla de contingencia entre 'Forma' y 'Gravedad'
tabla_contingencia <- table(datos$Forma, datos$Gravedad)
# Prueba de chi-cuadrado para evaluar la independencia
chisq.test(tabla_contingencia)
##
## Pearson's Chi-squared test
##
## data: tabla_contingencia
## X-squared = 37.786, df = 16, p-value = 0.001623
# Análisis de correspondencias para 'Forma' y otra variable categórica, por ejemplo, 'Agente Material'
#install.packages("FactoMineR")
library(FactoMineR)
acm_result <- CA(table(datos$Forma, datos$`Agente Material`))
# Modelo de regresión logística para predecir la gravedad basada en múltiples factores
# Convertir la variable 'Gravedad' en binaria
datos$Gravedad_binaria <- as.integer(datos$Gravedad == "Mortal")
# Ajustar un modelo de regresión logística usando la variable binaria como respuesta
modelo_logistico <- glm(Gravedad_binaria ~ `Edad Accidentado` + `Sexo Accidentado` +
`Agente Material` + `Lesión` +
`Ubicación de lesión` + `De trayecto`, data = datos, family = binomial)
# Ver el resumen del modelo
summary(modelo_logistico)
##
## Call:
## glm(formula = Gravedad_binaria ~ `Edad Accidentado` + `Sexo Accidentado` +
## `Agente Material` + Lesión + `Ubicación de lesión` + `De trayecto`,
## family = binomial, data = datos)
##
## Coefficients:
## Estimate
## (Intercept) -2.533e+00
## `Edad Accidentado` -6.043e-02
## `Sexo Accidentado`m 1.827e+01
## `Agente Material`Ambiente de trabajo 2.249e+01
## `Agente Material`Máquinas 2.072e+01
## `Agente Material`Materiales, sustancias y radiaciones 8.550e-02
## `Agente Material`Medios de transporte y de manutención 4.502e+01
## `Agente Material`Otros agentes no clasificados bajo otros epígrafes 4.225e+01
## `Agente Material`Otros aparatos 2.212e+01
## LesiónAsfixias -3.172e+01
## LesiónConmociones y traumatismos internos -5.981e+01
## LesiónContusiones y aplastamientos -5.781e+01
## LesiónEfectos de la electricidad -1.505e+01
## LesiónEfectos del tiempo, de la explosión al frío y a los elementos y de otros estados conexos -8.009e+01
## LesiónFractura -8.034e+01
## LesiónLesiones múltiples de naturalezas diferentes -3.556e+01
## LesiónLuxación -8.151e+01
## LesiónOtras heridas -5.773e+01
## LesiónOtros traumatismos y traumatismos mal definidos -7.711e+01
## LesiónQuemaduras -7.744e+01
## LesiónTorcedura y esguince -5.799e+01
## LesiónTraumatismos superficiales -5.864e+01
## `Ubicación de lesión`Cuello -2.474e+01
## `Ubicación de lesión`Lesiones generales -4.415e+01
## `Ubicación de lesión`Miembro inferior -2.279e+01
## `Ubicación de lesión`Miembro superior -5.900e+01
## `Ubicación de lesión`Tronco -4.206e+01
## `Ubicación de lesión`Ubicación no precisada 6.291e-01
## `Ubicación de lesión`Ubicaciones múltiples -2.212e+01
## `De trayecto`si -4.380e-01
## Std. Error
## (Intercept) 2.229e+05
## `Edad Accidentado` 6.618e-02
## `Sexo Accidentado`m 1.869e+04
## `Agente Material`Ambiente de trabajo 3.862e+04
## `Agente Material`Máquinas 4.685e+04
## `Agente Material`Materiales, sustancias y radiaciones 3.574e+04
## `Agente Material`Medios de transporte y de manutención 5.026e+04
## `Agente Material`Otros agentes no clasificados bajo otros epígrafes 3.323e+04
## `Agente Material`Otros aparatos 3.515e+04
## LesiónAsfixias 3.079e+05
## LesiónConmociones y traumatismos internos 2.249e+05
## LesiónContusiones y aplastamientos 2.194e+05
## LesiónEfectos de la electricidad 2.187e+05
## LesiónEfectos del tiempo, de la explosión al frío y a los elementos y de otros estados conexos 2.485e+05
## LesiónFractura 2.204e+05
## LesiónLesiones múltiples de naturalezas diferentes 2.202e+05
## LesiónLuxación 2.585e+05
## LesiónOtras heridas 2.194e+05
## LesiónOtros traumatismos y traumatismos mal definidos 2.246e+05
## LesiónQuemaduras 2.262e+05
## LesiónTorcedura y esguince 2.222e+05
## LesiónTraumatismos superficiales 2.194e+05
## `Ubicación de lesión`Cuello 1.380e+05
## `Ubicación de lesión`Lesiones generales 7.337e+04
## `Ubicación de lesión`Miembro inferior 1.988e+04
## `Ubicación de lesión`Miembro superior 2.154e+04
## `Ubicación de lesión`Tronco 2.986e+04
## `Ubicación de lesión`Ubicación no precisada 2.523e+00
## `Ubicación de lesión`Ubicaciones múltiples 1.614e+04
## `De trayecto`si 3.100e+04
## z value
## (Intercept) 0.000
## `Edad Accidentado` -0.913
## `Sexo Accidentado`m 0.001
## `Agente Material`Ambiente de trabajo 0.001
## `Agente Material`Máquinas 0.000
## `Agente Material`Materiales, sustancias y radiaciones 0.000
## `Agente Material`Medios de transporte y de manutención 0.001
## `Agente Material`Otros agentes no clasificados bajo otros epígrafes 0.001
## `Agente Material`Otros aparatos 0.001
## LesiónAsfixias 0.000
## LesiónConmociones y traumatismos internos 0.000
## LesiónContusiones y aplastamientos 0.000
## LesiónEfectos de la electricidad 0.000
## LesiónEfectos del tiempo, de la explosión al frío y a los elementos y de otros estados conexos 0.000
## LesiónFractura 0.000
## LesiónLesiones múltiples de naturalezas diferentes 0.000
## LesiónLuxación 0.000
## LesiónOtras heridas 0.000
## LesiónOtros traumatismos y traumatismos mal definidos 0.000
## LesiónQuemaduras 0.000
## LesiónTorcedura y esguince 0.000
## LesiónTraumatismos superficiales 0.000
## `Ubicación de lesión`Cuello 0.000
## `Ubicación de lesión`Lesiones generales -0.001
## `Ubicación de lesión`Miembro inferior -0.001
## `Ubicación de lesión`Miembro superior -0.003
## `Ubicación de lesión`Tronco -0.001
## `Ubicación de lesión`Ubicación no precisada 0.249
## `Ubicación de lesión`Ubicaciones múltiples -0.001
## `De trayecto`si 0.000
## Pr(>|z|)
## (Intercept) 1.000
## `Edad Accidentado` 0.361
## `Sexo Accidentado`m 0.999
## `Agente Material`Ambiente de trabajo 1.000
## `Agente Material`Máquinas 1.000
## `Agente Material`Materiales, sustancias y radiaciones 1.000
## `Agente Material`Medios de transporte y de manutención 0.999
## `Agente Material`Otros agentes no clasificados bajo otros epígrafes 0.999
## `Agente Material`Otros aparatos 0.999
## LesiónAsfixias 1.000
## LesiónConmociones y traumatismos internos 1.000
## LesiónContusiones y aplastamientos 1.000
## LesiónEfectos de la electricidad 1.000
## LesiónEfectos del tiempo, de la explosión al frío y a los elementos y de otros estados conexos 1.000
## LesiónFractura 1.000
## LesiónLesiones múltiples de naturalezas diferentes 1.000
## LesiónLuxación 1.000
## LesiónOtras heridas 1.000
## LesiónOtros traumatismos y traumatismos mal definidos 1.000
## LesiónQuemaduras 1.000
## LesiónTorcedura y esguince 1.000
## LesiónTraumatismos superficiales 1.000
## `Ubicación de lesión`Cuello 1.000
## `Ubicación de lesión`Lesiones generales 1.000
## `Ubicación de lesión`Miembro inferior 0.999
## `Ubicación de lesión`Miembro superior 0.998
## `Ubicación de lesión`Tronco 0.999
## `Ubicación de lesión`Ubicación no precisada 0.803
## `Ubicación de lesión`Ubicaciones múltiples 0.999
## `De trayecto`si 1.000
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 59.453 on 315 degrees of freedom
## Residual deviance: 13.700 on 286 degrees of freedom
## AIC: 73.7
##
## Number of Fisher Scoring iterations: 24
En la interpretación de este modelo, nos enfocamos en los coeficientes (estimaciones), sus errores estándar, los valores z (la razón entre la estimación y su error estándar) y los p-valores asociados (probabilidad de observar el valor z bajo la hipótesis nula).
Interpretación de los Coeficientes: (Intercepto): El intercepto representa el logaritmo de odds de la categoría “Mortal” cuando todas las demás variables son cero, lo cual es generalmente un caso hipotético en los modelos de regresión con variables continuas y categóricas.
Variables Continuas (como ‘Edad Accidentado’): Los coeficientes indican el cambio en el logaritmo de odds de la gravedad de un accidente siendo mortal por cada unidad de cambio en la variable. Por ejemplo, por cada año adicional en la ‘Edad Accidentado’, las log-odds de un accidente siendo mortal disminuyen (coeficiente de -0.06043).
Variables Binarias (como ‘Sexo Accidentado’ si es hombre): Un coeficiente positivo grande (por ejemplo, 18.27 para ‘Sexo Accidentado’m) indica un aumento en las log-odds de un accidente siendo mortal para los hombres en comparación con el nivel de referencia (mujeres, si ’m’ significa masculino).
Variables Categóricas (como ‘Agente Material’ y ‘Lesión’): Los coeficientes de estas variables representan el cambio en las log-odds de la gravedad siendo mortal en comparación con una categoría de referencia (que no se muestra aquí).
Valores z y p-valores: Los valores z y los p-valores asociados se utilizan para probar la hipótesis nula de que cada coeficiente es igual a cero en la población. Un p-valor bajo (generalmente menos de 0.05) sugiere que es improbable que observemos tal coeficiente si la hipótesis nula fuera verdadera, por lo tanto, podemos rechazar la hipótesis nula y decir que la variable tiene un efecto significativo sobre la probabilidad de la gravedad de un accidente siendo mortal.
En el modelo, casi todos los p-valores son 1 o muy altos, lo que sugiere que no hay evidencia para rechazar la hipótesis nula para ninguna de las variables. Esto es muy inusual y podría indicar problemas con el modelo o los datos.
Potenciales Problemas: Errores Estándar Muy Altos: Esto puede ser una señal de multicolinealidad (variables altamente correlacionadas entre sí) o de otros problemas numéricos que están haciendo que el modelo sea inestable. Número de Iteraciones de Scoring de Fisher: El modelo necesitó 24 iteraciones para converger, lo cual es un poco alto y puede sugerir dificultades para encontrar una solución estable.
Pasos a seguir: Revisar Datos: Verificar los datos para errores de codificación o procesamiento que podrían afectar el modelo.
Multicolinealidad: Examinar la multicolinealidad entre las variables predictoras y considerar eliminar o combinar variables correlacionadas.
Tamaño del Efecto: Algunos de los coeficientes son extremadamente grandes o pequeños, lo cual es sospechoso y podría sugerir problemas con las escalas de las variables o la presencia de datos atípicos.
Regularización: Se podría intentar técnicas de regularización como la regresión de la cresta (Ridge) o Lasso para tratar con la multicolinealidad y mejorar la estabilidad de la estimación de los coeficientes.
Es fundamental que investigar más a fondo para entender por qué el modelo está produciendo estos resultados inusuales y para asegurarse de que el modelo que ajustas es apropiado para los datos y la pregunta de investigación.