Ejercicio 3

  1. Importe la base de datos.
  2. Analice las características de la base de datos. Estas pueden incluir: número de filas, número de columnas, nombres de las variables, tipos de variables, entre otras.
  3. Analice cada una de las variables según su tipo: numéricas y categóricas.
  4. Filtre la base de datos para entender mejor su estructura.
  5. Explore la ayuda de la función table del paquete base y utilícela para explorar la base de datos.
  6. Identifique los valores NA (Not Available) en la base de datos.
  7. Analice la presencia de posibles valores atípicos.
  8. Decida qué hacer con los valores NA.

Introducción

En el presente informe se aborda el análisis exploratorio y descriptivo 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. Posteriormente, se realizará una descripción gráfica de la información y posibles inferencias.

Análisis Exploratorio de los datos

Inspección del Conjunto de Datos

library(readr)
## Warning: package 'readr' was built under R version 4.2.3
master <- read_csv("master.csv")
## Rows: 27820 Columns: 12
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (5): country, sex, age, country-year, generation
## dbl (6): year, suicides_no, population, suicides/100k pop, HDI for year, gdp...
## num (1): gdp_for_year ($)
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
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>
dim(master)
## [1] 27820    12
str(master)
## 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>

A partir del nombre de las variables podemos identificar cuáles son categóricas y cuáles son numéricas.

names(master)
##  [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"

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 year para varias de las observaciones.

library(knitr)
## Warning: package 'knitr' was built under R version 4.2.2
kable(head(master, 10), caption = "Base de datos: Registros de suicidios a nivel mundial")
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 (\()| 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

Resumen Estadístico de los Datos

summary(master)
##    country               year          sex                age           
##  Length:27820       Min.   :1985   Length:27820       Length:27820      
##  Class :character   1st Qu.:1995   Class :character   Class :character  
##  Mode  :character   Median :2002   Mode  :character   Mode  :character  
##                     Mean   :2001                                        
##                     3rd Qu.:2008                                        
##                     Max.   :2016                                        
##                                                                         
##   suicides_no        population       suicides/100k pop country-year      
##  Min.   :    0.0   Min.   :     278   Min.   :  0.00    Length:27820      
##  1st Qu.:    3.0   1st Qu.:   97498   1st Qu.:  0.92    Class :character  
##  Median :   25.0   Median :  430150   Median :  5.99    Mode  :character  
##  Mean   :  242.6   Mean   : 1844794   Mean   : 12.82                      
##  3rd Qu.:  131.0   3rd Qu.: 1486143   3rd Qu.: 16.62                      
##  Max.   :22338.0   Max.   :43805214   Max.   :224.97                      
##                                                                           
##   HDI for year   gdp_for_year ($)    gdp_per_capita ($)  generation       
##  Min.   :0.483   Min.   :4.692e+07   Min.   :   251     Length:27820      
##  1st Qu.:0.713   1st Qu.:8.985e+09   1st Qu.:  3447     Class :character  
##  Median :0.779   Median :4.811e+10   Median :  9372     Mode  :character  
##  Mean   :0.777   Mean   :4.456e+11   Mean   : 16866                       
##  3rd Qu.:0.855   3rd Qu.:2.602e+11   3rd Qu.: 24874                       
##  Max.   :0.944   Max.   :1.812e+13   Max.   :126352                       
##  NA's   :19456

Revisión de Asimetría y Curtosis

library(e1071)
skewness <- apply(master[,sapply(master, is.numeric)], 2, skewness, na.rm = TRUE)
kurtosis <- apply(master[,sapply(master, is.numeric)], 2, kurtosis, na.rm = TRUE)
data.frame(Variable = names(skewness), Asimetría = skewness, Curtosis = kurtosis)
##                              Variable  Asimetría    Curtosis
## year                             year -0.1602240  -1.0519158
## suicides_no               suicides_no 10.3517939 157.1288677
## population                 population  4.4589335  27.3998492
## suicides/100k pop   suicides/100k pop  2.9630949  12.1622530
## HDI for year             HDI for year -0.3007695  -0.6488063
## gdp_for_year ($)     gdp_for_year ($)  7.2329750  64.2170326
## gdp_per_capita ($) gdp_per_capita ($)  1.9632583   4.9360844
  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.

Revisión de asimetría y curtosis

Rangos de curtosis

  1. Platicúrtica (Colas delgadas, menos outliers): Curtosis < 3
  2. Mesocúrtica (Distribución normal, colas moderadas: Curtosis igual o cercana a 3.
  3. Leptocúrtica (Colas extremadamente pesadas, muchos outliers: Curtosis > 3

Inspección de Posibles Errores o Inconsistencias

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)
prob1
## # A tibble: 0 × 5
## # ℹ 5 variables: row <int>, col <int>, expected <chr>, actual <chr>, file <chr>

Análisis Gráfico de las Variables

Distribución de Edad por Sexo (Apilado)

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.

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
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))

Comparación del Número Total de Suicidios entre Hombres y Mujeres.

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

ggplot(master, aes(x = sex, y = suicides_no, fill = sex)) +
  geom_bar(stat = "identity") +
  labs(title = "Comparación del Número Total de Suicidios entre Hombres y Mujeres", x = "Sexo", y = "Número de Suicidios") +
  theme_minimal()

Frecuencia de Suicidios Según Generaciones

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.

ggplot(master, aes(x = generation, fill = generation)) +
  geom_bar() +
  labs(title = "Frecuencia de Suicidios Según Generaciones", x = "Generación", y = "Frecuencia") +
  scale_fill_manual(values = c("#cce5ff", "#99ccff", "#66b3ff", "#3399ff", "#0073e6", "#0059b3")) +
  theme_minimal()

Inspección de suicidios por rangos anuales

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.
  1. 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
##    year_group suicides_no  Rel_Freq Cum_Freq
## 1 (1985,1992]     1131636 0.1706235  1131636
## 2 (1992,1999]     1690352 0.2548644  2821988
## 3 (1999,2006]     1727255 0.2604285  4549243
## 4 (2006,2013]     1640887 0.2474063  6190130
## 5 (2013,2020]      442227 0.0666772  6632357

Histograma de la distribución de suicidios por año

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.

ggplot(master, aes(x = year_group)) +
  geom_histogram(stat = "count", fill = "skyblue", color = "black") +
  labs(title = "Histograma de los años", x = "Rango de años", y = "Frecuencia") + scale_fill_manual(values = c("#99ccff", "#66b3ff", "#3399ff", "#0073e6", "#0059b3")) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Distribución del PIB per capita por sexo

El gráfico sugiere que, en la mayoría de los países, el PIB per cápita es bajo, independientemente del sexo. Sin embargo, hay algunas excepciones donde ciertos países presentan un PIB per cápita significativamente más alto, aunque estos son menos frecuentes. La similitud en la forma de los violines para ambos sexos indica que no hay una gran diferencia en la distribución del PIB per cápita entre hombres y mujeres en los datos analizados.

ggplot(master, aes(y = `gdp_per_capita ($)`, x = sex, fill = sex)) +
  geom_violin(trim = FALSE) +
  labs(title = "Distribución del PIB per Cápita por Sexo", y = "PIB per Cápita ($)", x = "Sexo") +
  theme_minimal() +
  scale_y_continuous(labels = scales::comma) +
  scale_fill_manual(values = c("#a6cee3", "#1f78b4")) +
  coord_flip()

Filtrado de datos

## package 'reactable' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\CEDIS RECEPCION\AppData\Local\Temp\Rtmp8KqRMp\downloaded_packages

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.

missing_values <- colSums(is.na(master))
print(missing_values)
##            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 
##         year_group 
##                576

Matriz de Datos Faltantes

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

Distribución de los Datos

Se debe inspeccionar la distribución de los datos para evaluar algún método de inputación posible para la variable con datos faltantes. Dado que tenemos una muestra mayor a 200, se aplicará el test de kolmogrov-smirnov cuyas hipotesis son:

  • \(H_0\): 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 y nuevamente observamos la nueva distribución de nuestros datos y la matriz de datos faltantes.

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()

Matriz de datos faltantes posterior a la inputación por la mediana

Este gráfico confirma que, tras la imputación, el conjunto de datos ya no contiene valores faltantes. Esto es crucial para garantizar que el análisis posterior no se vea afectado por la ausencia de datos,

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

Ejercicio 4

Considere la base de datos master y realice lo siguiente (utilice los operadores pipe de continuidad y compuesto):

  1. Edite y explore reglas para verificar que la base de datos no contenga posibles registros erróneos.
  2. Filtre los datos de Colombia y los de EEUU, generando dos bases de datos, llamadas master_col y master_eu.
  3. Realice un análisis de la evolución de los suicidios por cada 100.000 habitantes, del PIB per cápita y del IDH, a lo largo de los años en ambos países.
  4. Realice un análisis de la evolución de los suicidios por cada 100.000 habitantes, del PIB per cápita y del IDH, a lo largo de los años en ambos países por género.
  5. Realice un análisis de la evolución de los suicidios por cada 100.000 habitantes, del PIB per cápita y del IDH, a lo largo de los años en ambos países por grupo de edad.

Inspección del conjunto de datos

Primeros realizaremos una inspección de valores faltantes en nuestro conjunto de datos y observamos la presencia de N/A’s en la variable de agrupación por año en 576 registros, posterior a ello, verificamos si hay valores negativos o outliers en nuestro conjunto de datos, luego los calculamos mediante el rango intercuartílico y filtramos el conjunto de datos. Se obseva que no hay presencia de valores negativos en nuestros datos y adicionalmente, se prevee la presencia de 3899 datos atípicos en el número de suicidios. Finalmente creamos un nuevo conjunto de datos filtrado.

missing_values <- sapply(master, function(x) sum(is.na(x)))
print(missing_values)
##            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 
##                  0                  0                  0                  0 
##         year_group 
##                576
library(dplyr)
negative_values <- master %>%
  filter(suicides_no < 0 | `gdp_per_capita ($)` < 0 | `HDI for year` < 0 | `suicides/100k pop` < 0)
print(negative_values)
## # A tibble: 0 × 13
## # ℹ 13 variables: country <chr>, year <dbl>, sex <chr>, age <chr>,
## #   suicides_no <dbl>, population <dbl>, suicides/100k pop <dbl>,
## #   country-year <chr>, HDI for year <dbl>, gdp_for_year ($) <dbl>,
## #   gdp_per_capita ($) <dbl>, generation <chr>, year_group <fct>
library(dplyr)
library(kableExtra)

IQR_suicides <- IQR(master$suicides_no, na.rm = TRUE)
lower_bound <- quantile(master$suicides_no, 0.25, na.rm = TRUE) - 1.5 * IQR_suicides
upper_bound <- quantile(master$suicides_no, 0.75, na.rm = TRUE) + 1.5 * IQR_suicides

outliers_suicides <- master %>%
  filter(suicides_no < lower_bound | suicides_no > upper_bound)

reactable(outliers_suicides, searchable = TRUE, pagination = TRUE, defaultPageSize = 10)

Análisis para Colombia

En las gráficas presentadas se muestra la evolución de tres indicadores clave en Colombia a lo largo de los años: la tasa de suicidios por cada 100.000 habitantes, el PIB per cápita y el Índice de Desarrollo Humano (IDH).

  1. Evolución de Suicidios por cada 100.000 habitantes
  • La primera gráfica muestra un aumento gradual en la tasa de suicidios por cada 100.000 habitantes desde 1985 hasta 2015. Se observa una tendencia al alza con fluctuaciones estacionales, especialmente notables a partir de los años 2000, lo que podría indicar un incremento en los factores de riesgo asociados con el suicidio a medida que el país ha atravesado diferentes crisis sociales y económicas.
  1. Evolución del PIB per cápita
  • La segunda gráfica refleja el crecimiento sostenido del PIB per cápita en Colombia desde finales de los años 80 hasta 2015. Este aumento se acelera particularmente durante los años 2000, alcanzando un pico alrededor de 2013 antes de experimentar una ligera disminución. Esta tendencia sugiere un progreso económico general en el país, aunque con algunas posibles interrupciones en el crecimiento económico reciente.
  1. Evolución del Índice de Desarrollo Humano (IDH)
  • La tercera gráfica presenta la evolución del IDH en Colombia, que muestra una variabilidad considerable en los primeros años, seguida por una estabilización a partir del año 2000. A pesar de las fluctuaciones iniciales, el IDH se ha mantenido relativamente estable, lo que sugiere un progreso sostenido en términos de desarrollo humano, aunque no sin desafíos, como lo indican las caídas temporales.
library(dplyr)
library(ggplot2)
library(gridExtra)

master_col <- master %>%
  filter(country == "Colombia")

p1 <- ggplot(master_col, aes(x = year, y = `suicides/100k pop`)) +
  geom_line(color = "#0059b3", size = 1) +
  geom_point(color = "blue", size = 2) +
  labs(title = "Evolución de Suicidios por cada 100.000 habitantes en Colombia",
       x = "Año",
       y = "Suicidios por cada 100.000 hab") +
  theme_minimal() +
  theme(axis.title.y = element_text(size = 10))

p2 <- ggplot(master_col, aes(x = year, y = `gdp_per_capita ($)`)) +
  geom_line(color = "#0059b3", size = 1) +
  geom_point(color = "#66b3ff", size = 2) +
  labs(title = "Evolución del PIB per cápita en Colombia",
       x = "Año",
       y = "PIB per cápita ($)") +
  theme_minimal() +
  theme(axis.title.y = element_text(size = 10))

p3 <- ggplot(master_col, aes(x = year, y = `HDI for year`)) +
  geom_line(color = "lightblue", size = 1) +
  geom_point(color = "blue", size = 2) +
  labs(title = "Evolución del IDH en Colombia",
       x = "Año",
       y = "IDH") +
  theme_minimal() +
  theme(axis.title.y = element_text(size = 10))

grid.arrange(p1, p2, p3, ncol = 1)

library(dplyr)
library(ggplot2)
library(gridExtra)

p1_col <- ggplot(master_col, aes(x = year, y = `suicides/100k pop`, color = sex, group = sex)) +
  geom_line(size = 1) +
  geom_point(size = 2) +
  labs(title = "Evolución de Suicidios por cada 100.000 habitantes en Colombia por género",
       x = "Año",
       y = "Suicidios por cada 100.000 hab",
       color = "Género") +
  theme_minimal()

p2_col <- ggplot(master_col, aes(x = year, y = `gdp_per_capita ($)`, color = sex, group = sex)) +
  geom_line(size = 1) +
  geom_point(size = 2) +
  labs(title = "Evolución del PIB per cápita en Colombia por género",
       x = "Año",
       y = "PIB per cápita ($)",
       color = "Género") +
  theme_minimal()

p3_col <- ggplot(master_col, aes(x = year, y = `HDI for year`, color = sex, group = sex)) +
  geom_line(size = 1) +
  geom_point(size = 2) +
  labs(title = "Evolución del IDH en Colombia por género",
       x = "Año",
       y = "IDH",
       color = "Género") +
  theme_minimal()

grid.arrange(p1_col, p2_col, p3_col, ncol = 1)

Análisis para Estados Unidos

En las gráficas presentadas se muestra la evolución de tres indicadores clave en Estados Unidos a lo largo de los años: la tasa de suicidios por cada 100.000 habitantes, el PIB per cápita y el Índice de Desarrollo Humano (IDH).

  1. Evolución de Suicidios por cada 100.000 habitantes
  • La primera gráfica muestra que la tasa de suicidios en Estados Unidos ha oscilado considerablemente desde 1985 hasta 2015. Aunque hay variaciones estacionales, se puede observar una tendencia general al alza a lo largo del tiempo, especialmente después del año 2000, donde la tasa de suicidios alcanza y se mantiene en niveles relativamente elevados (alrededor de 50-60 suicidios por cada 100.000 habitantes). Esta tendencia puede reflejar un aumento en los factores de riesgo y cambios socioeconómicos en el país.
  1. Evolución del PIB per cápita
  • La segunda gráfica muestra un crecimiento constante y significativo del PIB per cápita en Estados Unidos durante el período estudiado. Desde finales de los años 80 hasta 2015, el PIB per cápita ha mostrado una tendencia creciente, alcanzando valores cercanos a los 50.000 dólares. Esta tendencia indica un incremento sostenido en el nivel de vida promedio en el país, con un crecimiento económico estable a lo largo de las décadas.
  1. Evolución del Índice de Desarrollo Humano (IDH)
  • La tercera gráfica refleja una evolución positiva en el IDH de Estados Unidos, aunque con algunas fluctuaciones. El IDH comienza en valores alrededor de 0.8 a mediados de los años 80 y muestra una tendencia al alza, alcanzando un valor cercano a 0.9. Las fluctuaciones en los primeros años podrían indicar períodos de inestabilidad en algunos componentes del IDH, pero en general, Estados Unidos ha mostrado una mejora continua en términos de desarrollo humano.
library(dplyr)
library(ggplot2)
library(gridExtra)

master_eu <- master %>%
  filter(country == "United States")


g1 <- ggplot(master_eu, aes(x = year, y = `suicides/100k pop`)) +
  geom_line(color = "#0059b3", size = 1) +
  geom_point(color = "blue", size = 2) +
  labs(title = "Evolución de Suicidios por cada 100.000 habitantes en 
United States",
       x = "Año",
       y = "Suicidios por cada 100.000 hab") +
  theme_minimal() +
  theme(axis.title.y = element_text(size = 10))

g2 <- ggplot(master_eu, aes(x = year, y = `gdp_per_capita ($)`)) +
  geom_line(color = "#0059b3", size = 1) +
  geom_point(color = "#66b3ff", size = 2) +
  labs(title = "Evolución del PIB per cápita en 
United States",
       x = "Año",
       y = "PIB per cápita ($)") +
  theme_minimal() +
  theme(axis.title.y = element_text(size = 10))

g3 <- ggplot(master_eu, aes(x = year, y = `HDI for year`)) +
  geom_line(color = "lightblue", size = 1) +
  geom_point(color = "blue", size = 2) +
  labs(title = "Evolución del IDH en 
United States",
       x = "Año",
       y = "IDH") +
  theme_minimal() +
  theme(axis.title.y = element_text(size = 10))

grid.arrange(g1, g2, g3, ncol = 1)