En el presente informe se aborda el análisis exploratorio y decsriptivo de un conjunto de datos relacionado a registros de suicidios o intentos de los mismos, posibles razones psicológicas, datos demográficos, entre otras variables de interés. El conjunto de datos posee registros de distintos países a nivel mundial, la población de los mismos y la tasa de suicidios por cada 10 mil habitantes.

Se iniciará con una inspección del conjunto de datos, su estructura, tipos de variables, datos faltantes y distribución de las variables. Posterior se realizará una descripción gráfica de la información y posibles inferencias.

Análisis Exploratorio de los datos

Se procede a inspeccionar el conjunto de datos desde la naturaleza de las variables, estructura, primeras filas hasta su dimensión y tipo de variable. Es relevante mencionar que se cuenta con 27820 registros de 12 variables de las cuales 5 son categóricas posibles factores y una de ellas con notables valores fanltantes.

master <- read_csv("master.csv")
head(master)
## # A tibble: 6 × 12
##   country  year sex    age         suicides_no population `suicides/100k pop`
##   <chr>   <dbl> <chr>  <chr>             <dbl>      <dbl>               <dbl>
## 1 Albania  1987 male   15-24 years          21     312900                6.71
## 2 Albania  1987 male   35-54 years          16     308000                5.19
## 3 Albania  1987 female 15-24 years          14     289700                4.83
## 4 Albania  1987 male   75+ years             1      21800                4.59
## 5 Albania  1987 male   25-34 years           9     274300                3.28
## 6 Albania  1987 female 75+ years             1      35600                2.81
## # ℹ 5 more variables: `country-year` <chr>, `HDI for year` <dbl>,
## #   `gdp_for_year ($)` <dbl>, `gdp_per_capita ($)` <dbl>, generation <chr>
## [1] 27820    12

A partir del nombre de las variables podemos identificar cuales son categóricas y cuales son numéricas; Entre las variables cualitativas encontramos el país, sexo, la edad de la persona (intervalo), la generación a la que pertenecen y un distintivo country-year. Por otro lado, entre las variables numéricas podemos encontrar el año del registro, el número de suicidios, la población, la propoorcion de suicidios por cada 100mil habitantes, el HDI por año, el producto interno bruto y per capita.

##  [1] "country"            "year"               "sex"               
##  [4] "age"                "suicides_no"        "population"        
##  [7] "suicides/100k pop"  "country-year"       "HDI for year"      
## [10] "gdp_for_year ($)"   "gdp_per_capita ($)" "generation"
## spc_tbl_ [27,820 × 12] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ country           : chr [1:27820] "Albania" "Albania" "Albania" "Albania" ...
##  $ year              : num [1:27820] 1987 1987 1987 1987 1987 ...
##  $ sex               : chr [1:27820] "male" "male" "female" "male" ...
##  $ age               : chr [1:27820] "15-24 years" "35-54 years" "15-24 years" "75+ years" ...
##  $ suicides_no       : num [1:27820] 21 16 14 1 9 1 6 4 1 0 ...
##  $ population        : num [1:27820] 312900 308000 289700 21800 274300 ...
##  $ suicides/100k pop : num [1:27820] 6.71 5.19 4.83 4.59 3.28 2.81 2.15 1.56 0.73 0 ...
##  $ country-year      : chr [1:27820] "Albania1987" "Albania1987" "Albania1987" "Albania1987" ...
##  $ HDI for year      : num [1:27820] NA NA NA NA NA NA NA NA NA NA ...
##  $ gdp_for_year ($)  : num [1:27820] 2.16e+09 2.16e+09 2.16e+09 2.16e+09 2.16e+09 ...
##  $ gdp_per_capita ($): num [1:27820] 796 796 796 796 796 796 796 796 796 796 ...
##  $ generation        : chr [1:27820] "Generation X" "Silent" "Generation X" "G.I. Generation" ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   country = col_character(),
##   ..   year = col_double(),
##   ..   sex = col_character(),
##   ..   age = col_character(),
##   ..   suicides_no = col_double(),
##   ..   population = col_double(),
##   ..   `suicides/100k pop` = col_double(),
##   ..   `country-year` = col_character(),
##   ..   `HDI for year` = col_double(),
##   ..   `gdp_for_year ($)` = col_number(),
##   ..   `gdp_per_capita ($)` = col_double(),
##   ..   generation = col_character()
##   .. )
##  - attr(*, "problems")=<externalptr>

Vista de tabla

Observamos de manera gráfica a través de una tabla la información del conjunto de datos, en la cual se evidencia la presencia de datos faltantes en la columna ‘HDI for years’ para varias de las observaciones, así como también que la edad de los registros están agrupados en intervalios y no de forma continua.

Tabla 1: Base de datos, Registros de suicidios a nivel mundial
country year sex age suicides_no population suicides/100k pop country-year HDI for year gdp_for_year (\() </th> <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> gdp_per_capita (\)) generation
Albania 1987 male 15-24 years 21 312900 6.71 Albania1987 NA 2156624900 796 Generation X
Albania 1987 male 35-54 years 16 308000 5.19 Albania1987 NA 2156624900 796 Silent
Albania 1987 female 15-24 years 14 289700 4.83 Albania1987 NA 2156624900 796 Generation X
Albania 1987 male 75+ years 1 21800 4.59 Albania1987 NA 2156624900 796 G.I. Generation
Albania 1987 male 25-34 years 9 274300 3.28 Albania1987 NA 2156624900 796 Boomers
Albania 1987 female 75+ years 1 35600 2.81 Albania1987 NA 2156624900 796 G.I. Generation
Albania 1987 female 35-54 years 6 278800 2.15 Albania1987 NA 2156624900 796 Silent
Albania 1987 female 25-34 years 4 257200 1.56 Albania1987 NA 2156624900 796 Boomers
Albania 1987 male 55-74 years 1 137500 0.73 Albania1987 NA 2156624900 796 G.I. Generation
Albania 1987 female 5-14 years 0 311000 0.00 Albania1987 NA 2156624900 796 Generation X
Albania 1987 female 55-74 years 0 144600 0.00 Albania1987 NA 2156624900 796 G.I. Generation
Albania 1987 male 5-14 years 0 338200 0.00 Albania1987 NA 2156624900 796 Generation X
Albania 1988 female 75+ years 2 36400 5.49 Albania1988 NA 2126000000 769 G.I. Generation
Albania 1988 male 15-24 years 17 319200 5.33 Albania1988 NA 2126000000 769 Generation X
Albania 1988 male 75+ years 1 22300 4.48 Albania1988 NA 2126000000 769 G.I. Generation
Albania 1988 male 35-54 years 14 314100 4.46 Albania1988 NA 2126000000 769 Silent
Albania 1988 male 55-74 years 4 140200 2.85 Albania1988 NA 2126000000 769 G.I. Generation
Albania 1988 female 15-24 years 8 295600 2.71 Albania1988 NA 2126000000 769 Generation X
Albania 1988 female 55-74 years 3 147500 2.03 Albania1988 NA 2126000000 769 G.I. Generation
Albania 1988 female 25-34 years 5 262400 1.91 Albania1988 NA 2126000000 769 Boomers

Resumen estadístico de los datos

  1. suicides_no (Número de suicidios):
  • Promedio (mean): Aproximadamente 242.57 suicidios por país y año.
  • Desviación estándar (sd): 902.05, lo que indica una gran variabilidad entre los países. Esto significa que mientras algunos países tienen muy pocos suicidios, otros pueden tener cifras significativamente más altas.
  • Mediana: 25 suicidios, lo que sugiere que más de la mitad de los registros tienen un número de suicidios por debajo de este valor.
  • Mínimo y máximo: Varían entre 0 y 22,330, lo que muestra una gran diferencia entre países.
  • Asimetría (skewness): 10.35, muy positiva, lo que indica que la distribución está fuertemente sesgada hacia la derecha. Esto significa que la mayoría de los países tienen un número bajo de suicidios, pero algunos tienen cifras excepcionalmente altas.
  • Curtosis: 157.13, muy alta, indicando colas pesadas; esto refuerza la idea de que hay países con valores extremadamente altos que son outliers.
  1. gdp_per_capita ($) (PIB per cápita)
  • Promedio: 16,866.46 dólares, representando el PIB medio por persona.
  • Desviación estándar: 18,887.58, lo que indica que los niveles de vida varían significativamente entre países.
  • Mediana: 9,372 dólares, sugiriendo que la mitad de los países tienen un PIB per cápita menor a este valor.
  • Mínimo y máximo: Oscila entre 251 y 126,100 dólares, mostrando una disparidad económica considerable entre países.
  • Asimetría: 1.96, lo que sugiere un sesgo hacia la derecha; la mayoría de los países tienen un PIB per cápita bajo o moderado, con algunos valores muy altos.
  • Curtosis: 4.94, mayor a 3, lo que indica colas más pesadas que en una distribución normal.
  1. population (Población)
  • Promedio: 1,844,792 personas por país y año.
  • Desviación estándar: 3,917,799, lo que muestra una gran dispersión en el tamaño de la población entre países.
  • Mediana: 430,150 personas, lo que sugiere que la mitad de los países tienen una población inferior a este valor.
  • Mínimo y máximo: Desde 278 hasta más de 38 millones, mostrando una gran diversidad en el tamaño poblacional.
  • Asimetría: 4.46, indicando que la distribución está sesgada hacia la derecha, es decir, unos pocos países tienen poblaciones extremadamente grandes.
  • Curtosis: 27.40, lo que señala que hay colas pesadas, reflejando outliers con poblaciones muy grandes.
  1. suicides/100k pop (Tasa de suicidios por cada 100,000 habitantes)
  • Promedio: 12.82 suicidios por cada 100,000 habitantes.
  • Desviación estándar: 18.96, lo que indica una variabilidad significativa en las tasas de suicidio.
  • Mediana: 5.99, lo que muestra que la mitad de los países tienen tasas de suicidio menores a este valor.
  • Mínimo y máximo: Rango desde 0 hasta 224.97, con algunas tasas extremadamente altas.
  • Asimetría: 2.96, lo que sugiere un sesgo hacia la derecha; la mayoría de los países tienen tasas de suicidio bajas, pero algunos pocos tienen tasas muy altas.
  • Curtosis: 12.16, indicando colas pesadas, lo que implica la presencia de países con tasas de suicidio inusualmente altas.
  1. gdp_for_year ($) (PIB anual)
  • Promedio: 4.56 billones de dólares.
  • Desviación estándar: 1.45 billones, reflejando una gran variabilidad entre economías nacionales.
  • Mediana: 481,469 millones de dólares, sugiriendo que la mitad de los países tienen un PIB anual menor a este valor.
  • Mínimo y máximo: Varía de 469 millones a más de 18 billones, mostrando grandes diferencias económicas entre países.
  • Asimetría: 7.23, muy alta, indicando que la mayoría de los países tienen PIB anuales relativamente bajos, con algunos países como outliers con PIB extremadamente altos.
  • Curtosis: 64.22, lo que señala una distribución con colas muy pesadas, reflejando la gran disparidad económica a nivel mundial.
##                    vars     n         mean           sd       median
## suicides_no           1 27820 2.425700e+02 9.020500e+02 2.500000e+01
## gdp_per_capita ($)    2 27820 1.686646e+04 1.888758e+04 9.372000e+03
## population            3 27820 1.844794e+06 3.911779e+06 4.301500e+05
## suicides/100k pop     4 27820 1.282000e+01 1.896000e+01 5.990000e+00
## gdp_for_year ($)      5 27820 4.455810e+11 1.453610e+12 4.811469e+10
##                         trimmed          mad      min          max        range
## suicides_no        7.234000e+01 3.706000e+01        0 2.233800e+04 2.233800e+04
## gdp_per_capita ($) 1.339088e+04 1.087339e+04      251 1.263520e+05 1.261010e+05
## population         9.105993e+05 5.902972e+05      278 4.380521e+07 4.380494e+07
## suicides/100k pop  8.690000e+00 8.630000e+00        0 2.249700e+02 2.249700e+02
## gdp_for_year ($)   1.395568e+11 6.929537e+10 46919625 1.812071e+13 1.812067e+13
##                     skew kurtosis           se
## suicides_no        10.35   157.13 5.410000e+00
## gdp_per_capita ($)  1.96     4.94 1.132400e+02
## population          4.46    27.40 2.345286e+04
## suicides/100k pop   2.96    12.16 1.100000e-01
## gdp_for_year ($)    7.23    64.22 8.715039e+09

Revisión de asimetría y curtosis

Rangos de Curtosis - Curtosis < 3: Platicúrtica (colas delgadas, menos outliers). - Curtosis ≈ 3: Mesocúrtica (distribución normal, colas moderadas). - Curtosis > 3: Leptocúrtica (colas pesadas, más outliers). - Curtosis >> 3: Muy leptocúrtica (colas extremadamente pesadas, muchos outliers).

La tabla a continuación refleja la asimetría y la curtosis de cinco variables clave del conjunto de datos: suicides_no, gdp_per_capita, population, suicides/100k pop, y gdp_for_year.

  1. suicides_no: Esta variable muestra una asimetría muy alta de 10.35, lo que indica que la distribución está fuertemente sesgada hacia la derecha. Esto significa que la mayoría de los países tienen un número relativamente bajo de suicidios, con pocos países presentando cifras extremadamente altas. La curtosis es de 157.13, lo que sugiere una distribución con colas extremadamente pesadas y una alta presencia de outliers.

  2. gdp_per_capita ($): Con una asimetría de 1.96, esta variable también está sesgada hacia la derecha, pero menos pronunciadamente que suicides_no. Indica que la mayoría de los países tienen un PIB per cápita bajo o moderado, con algunos países teniendo valores muy altos. La curtosis de 4.94 indica una distribución levemente leptocúrtica, con colas más pesadas que una distribución normal, pero sin ser extremadamente pronunciada.

  3. population: La asimetría de 4.45 muestra un sesgo hacia la derecha, sugiriendo que muchos países tienen poblaciones más pequeñas, mientras que algunos pocos tienen poblaciones extremadamente grandes. La curtosis de 27.39 refuerza esto, indicando una distribución con colas muy pesadas y la presencia de outliers significativos en la población.

  4. suicides/100k pop: Con una asimetría de 2.96, esta variable está significativamente sesgada hacia la derecha, lo que indica que la mayoría de los países tienen tasas de suicidio relativamente bajas, con algunos pocos presentando tasas muy altas. La curtosis de 12.16 sugiere una distribución con colas pesadas, lo que indica variabilidad en las tasas de suicidio entre diferentes países y la posible presencia de outliers.

  5. gdp_for_year ($): Finalmente, esta variable muestra una asimetría de 7.23, lo que indica un fuerte sesgo hacia la derecha, con la mayoría de los países presentando valores de PIB anual relativamente bajos, mientras que unos pocos países tienen PIB extremadamente altos. La curtosis de 64.22 es muy elevada, sugiriendo una distribución con colas extremadamente pesadas, similar a la observada en suicides_no, indicando outliers considerables.

## package 'e1071' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\perfil\AppData\Local\Temp\RtmpuEhhpB\downloaded_packages
##                              Variable Asimetría   Curtosis
## suicides_no               suicides_no 10.351794 157.128868
## gdp_per_capita ($) gdp_per_capita ($)  1.963258   4.936084
## population                 population  4.458934  27.399849
## suicides/100k pop   suicides/100k pop  2.963095  12.162253
## gdp_for_year ($)     gdp_for_year ($)  7.232975  64.217033

Inspección de posibles errores o inconsistencias en el conjunto de datos

Se ejecuta la función de control o filtro de problemas en nuestro conjunto de datos para examinar si hay alguna inconsistencia en los mismos. Se observa que que no hay errores dentro del conjunto de datos.

prob1 <- problems(master) # Implmentamos la función 'problems' para verificar que no haya problema en los datos
prob1
## # A tibble: 0 × 5
## # ℹ 5 variables: row <int>, col <int>, expected <chr>, actual <chr>, file <chr>

Análisis gráfico de las variables

La grafica muestra que la proporción entre hombres y mujeres dentro de cada grupo de edad es relativamente estable, con las secciones rojas (mujeres) siendo consistentemente más grandes que las azules (hombres), lo que sugiere una ligera predominancia de mujeres en todos los grupos de edad. La distribución no presenta grandes variaciones, lo que sugiere homogeneidad en la representación de ambos sexos a lo largo de los grupos de edad.

ggplot(master, aes(x = age, fill = sex)) +
  geom_bar(position = "stack") +
  labs(title = "Distribución de Edad por Sexo (Apilado)", x = "Grupo de Edad", y = "Frecuencia") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

La gráfica muestra una comparación del número total de suicidios entre hombres y mujeres. La barra correspondiente a los hombres es significativamente más alta, con un conteo que supera los 5 millones de suicidios, mientras que la barra para las mujeres muestra un conteo de alrededor de 1 millón de suicidios. Esto indica que, en los datos analizados, los hombres tienen una tasa de suicidios considerablemente mayor que las mujeres, con más de cinco veces la cantidad de suicidios

lA gráfica muestra la frecuencia de suicidios según diferentes generaciones. La generación X presenta la frecuencia más alta, con más de 6,000 suicidios registrados. Le siguen la generación Silent y los Millennials, ambos con frecuencias cercanas a 6,000. Los Boomers también muestran una frecuencia alta, superando los 4,000 casos. En contraste, la G.I. Generation y la Generation Z tienen las frecuencias más bajas, con menos de 3,000 y alrededor de 2,000 casos respectivamente. Esta distribución sugiere que ciertas generaciones, como la generación X, tienen una mayor prevalencia de suicidios en comparación con otras, lo que podría reflejar diferencias generacionales en factores de riesgo y circunstancias sociales.

Agrupamos los rangos anuales para mejor modelado e inspección de los datos. Para ello realizamos una tabla de frecuencias y aplicamos la n de sturges. sE MUESTRAN LOS RESULTADOS A CONTINUACIÓN:

  1. Frecuencia Absoluta (Freq):
  • Los periodos con mayor número de suicidios son 1999-2006 y 2006-2013, con 7,188 y 7,140 casos respectivamente.
  • El periodo con menor cantidad de suicidios es 2013-2020, con 1,840 casos.
  1. Frecuencia Relativa (Rel_Freq):
  • La frecuencia relativa más alta corresponde al periodo 1999-2006 con un 26.38% de los suicidios, seguido de cerca por 2006-2013 con 26.21%.
  • El periodo más reciente, 2013-2020, tiene la frecuencia relativa más baja, con solo 6.75%.
  1. Frecuencia Acumulada (Cum_Freq):
  • Esta columna muestra el número total de suicidios acumulados hasta el final de cada periodo.
  • Para el periodo 1985-1992, hay 4,752 suicidios acumulados, y al final del periodo 2013-2020, se acumulan un total de 27,244 suicidios.

Interpretación General: - La tabla indica que la mayor concentración de suicidios ocurrió entre 1999 y 2013, representando más del 50% de los casos totales en los periodos analizados. Además, se observa una disminución en la frecuencia de suicidios en el periodo más reciente (2013-2020), tanto en términos absolutos como relativos, lo que podría reflejar cambios en las tendencias o en las circunstancias socioeconómicas de esos años

años Freq Rel_Freq Cum_Freq
(1985,1992] 4752 0.1744237 4752
(1992,1999] 6324 0.2321245 11076
(1999,2006] 7188 0.2638379 18264
(2006,2013] 7140 0.2620761 25404
(2013,2020] 1840 0.0675378 27244

Se observa que los rangos de edad 1999-2006 y 2006-2013 concentran el mayor número de observaciones o suicidios, con más de 7,000 registros cada uno. Esto sugiere un aumento significativo en la cantidad de datos o en la incidencia de los eventos durante estos años. Los periodos 1992-1999 y 1985-1992 presentan frecuencias más bajas, con alrededor de 6,324 y 4,752 observaciones respectivamente. Sin embargo, el periodo más reciente (2013-2020) muestra una fuerte disminución, con solo 1,840 observaciones, lo que podría indicar un cambio en la tendencia de los eventos o en la recolección de datos en los últimos años.

El diagrama de cajas y bigotes ilustra la distribución del PIB per cápita en dólares entre los países del conjunto de datos. Se observa una enorme cantidad de datos atipicos y una distribución no normal.

Se presenta un gráfico de violín de la distribución de la variable PIB per capita por sexo y la mayor parte de los datos se concentra en la parte baja del rango de PIB per cápita, que es visible por la mayor anchura en la parte inferior de ambos violines. Esto significa que la mayoría de los países tienen un PIB per cápita relativamente bajo, con muchos países en el mismo rango de valores.

Filtrado del conjunto de datos

Análisis de datos faltantes

Realizamos una imspección de datos faltantes para analizar si se debe inputar datos en algún momento, para ello a través de una tabla, observamos que para la variable “HDI for year” posee 19456 valores vacíos por lo que debe recibir un tratamiento particular. A partir de esta información verificamos mediante la matriz de datos faltantes qué proporción de datos faltantes equivale esta cantidad de registros (6%), posterior a ellos examinaremos la normalidad de la variable y decidiremos como inputar los datos.

##            country               year                sex                age 
##                  0                  0                  0                  0 
##        suicides_no         population  suicides/100k pop       country-year 
##                  0                  0                  0                  0 
##       HDI for year   gdp_for_year ($) gdp_per_capita ($)         generation 
##              19456                  0                  0                  0

Matriz de datos faltantes

Distribución de los datos

Ddo que tenemos una muestra mayor a 200, se aplicará el test de kolmogrov-smirnov cuyas hipotesis son:

  • \(H_o:\) Los datos se ajustan a una distribución normal
  • \(H_1\): Los datos no se ajustan a una distribución normal

Examinamos la normalidad de la variable HDI for year y se arroja el resultado de que p-valor < alfa, lo que indica que la variable no sigue una distribución normal, por tanto se deben reemplazar los datos faltantes por su mediana.

## Warning in ks.test.default(hdi_data[!is.na(hdi_data)], "pnorm", mean =
## mean(hdi_data, : ties should not be present for the Kolmogorov-Smirnov test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  hdi_data[!is.na(hdi_data)]
## D = 0.055914, p-value < 2.2e-16
## alternative hypothesis: two-sided
hdi_data <- master$`HDI for year`
# Usar la mediana
mediana_hdi <- median(hdi_data, na.rm = TRUE)

master$`HDI for year`[is.na(master$`HDI for year`)] <- mediana_hdi


ggplot(master, aes(x = `HDI for year`)) +
  geom_histogram(binwidth = 0.01, fill = "steelblue", color = "black") +
  labs(title = "Distribución del HDI (después de imputación)", x = "HDI", y = "Frecuencia") +
  theme_minimal()

missmap(master, col = c("lightblue", "blue"), legend = TRUE)