Presentación

El siguiente ejercicio tómo una base de datos de Kaggle sobre el consumo de alcohol y el nivel de felicidad en 122 países.

Dado que se trata de hacer ejercicios con RStudio, este análisis no pretende ser serio sino ilustrativo.

En la exploración de la base de datos busqué usar las más métricas posibles y sacar un índice de correlación que ¡spoiler alert!, nos indica que mientras más cerveza se beba ¡más feliz será uno!, ya que fue de 0.9121081, lo cual se acerca mucho al 1 y eso significaría que hay una asociación positiva muy fuerte entre beber cerveza y la felicidad.

Aunque ese interpretación se debe de tomar con cuidado, pues sería muy irresponsable concluir que el aumento en el consumo de cerveza causa un aumento en la felicidad, como lo dicta la estadística: siempre puede haber otros factores o variables que contribuyan a explicar la felicidad.

¡Salud y larga vida!

Cargando librerías

library(ggplot2)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.3     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggpubr)
## Warning: package 'ggpubr' was built under R version 4.3.2
library(rstatix)
## Warning: package 'rstatix' was built under R version 4.3.2
## 
## Attaching package: 'rstatix'
## 
## The following object is masked from 'package:stats':
## 
##     filter

Cargando la base de datos

CervezaFeliz <- read.csv("~/01_Master-BigData/A02_AnalisisDatos-Herramientas/Trabajo-Foro/HappinessAlcoholConsumption.csv")

La base de datos contiene las siguientes variables:

  • Country - País
  • HappinessScore - Índice de felicidad en puntos
  • Beer_PerCapita - Cantidad de cerveza que se bebé en cada país Per Capita (asumiremos que son botellas de cerveza)
  • Spirit_PerCapita - Cantidad de alcohol destilado que se bebe en cada país Per Capita (ej.: whiskey, tequila, mezcal, etc.Asumiremos que las unidades son copas)
  • Wine_PerCapita - Cantidad de vino que se bebé en cada país Per Capita (asumiremos que la medida son copas de vino)

Únicamente se trabajará con las variables HappinessScore y Beer_PerCapita.

Revisando la base de datos

head(CervezaFeliz, 8)
##       Country HappinessScore Beer_PerCapita Spirit_PerCapita Wine_PerCapita
## 1     Denmark          7.526            224               81            278
## 2 Switzerland          7.509            185              100            280
## 3     Iceland          7.501            233               61             78
## 4      Norway          7.498            169               71            129
## 5     Finland          7.413            263              133             97
## 6      Canada          7.404            240              122            100
## 7 Netherlands          7.339            251               88            190
## 8 New Zealand          7.334            203               79            175
tail(CervezaFeliz, 10) 
##          Country HappinessScore Beer_PerCapita Spirit_PerCapita Wine_PerCapita
## 113       Angola          3.866            217               57             45
## 114        Niger          3.856              3                2              1
## 115         Chad          3.763             15                1              1
## 116 Burkina Faso          3.739             25                7              7
## 117   Madagascar          3.695             26               15              4
## 118     Tanzania          3.666             36                6              1
## 119      Liberia          3.622             19              152              2
## 120        Benin          3.484             34                4             13
## 121         Togo          3.303             36                2             19
## 122        Syria          3.069              5               35             16
dim(CervezaFeliz)
## [1] 122   5
class(CervezaFeliz)
## [1] "data.frame"
str(CervezaFeliz)
## 'data.frame':    122 obs. of  5 variables:
##  $ Country         : chr  "Denmark" "Switzerland" "Iceland" "Norway" ...
##  $ HappinessScore  : num  7.53 7.51 7.5 7.5 7.41 ...
##  $ Beer_PerCapita  : int  224 185 233 169 263 240 251 203 261 152 ...
##  $ Spirit_PerCapita: int  81 100 61 71 133 122 88 79 72 60 ...
##  $ Wine_PerCapita  : int  278 280 78 129 97 100 190 175 212 186 ...
sum(complete.cases(CervezaFeliz))
## [1] 122
summary(CervezaFeliz)
##    Country          HappinessScore  Beer_PerCapita   Spirit_PerCapita
##  Length:122         Min.   :3.069   Min.   :  1.00   Min.   :  1.0   
##  Class :character   1st Qu.:4.528   1st Qu.: 38.25   1st Qu.: 25.5   
##  Mode  :character   Median :5.542   Median :125.50   Median : 82.5   
##                     Mean   :5.525   Mean   :137.57   Mean   : 96.6   
##                     3rd Qu.:6.477   3rd Qu.:224.75   3rd Qu.:142.5   
##                     Max.   :7.526   Max.   :376.00   Max.   :373.0   
##  Wine_PerCapita 
##  Min.   :  1.0  
##  1st Qu.:  5.0  
##  Median : 16.0  
##  Mean   : 66.6  
##  3rd Qu.:112.8  
##  Max.   :370.0

Análisis descriptivo

Media_Felicidad <- mean(CervezaFeliz$HappinessScore)
Media_Felicidad
## [1] 5.524828
Media_Cerveza <- mean(CervezaFeliz$Beer_PerCapita)
Media_Cerveza
## [1] 137.5656

Dado que la muestra de 122 países sería difícil de visualizar en una gráfica, seleccionaremos el top 10 de países más felices y los graficaremos de acuerdo a su consumo Per Capita de cerveza.

Ordenar el data frame por HappinessScore en orden descendente y seleccionar los primeros 10

top_happiness_countries <- head(CervezaFeliz[order(-CervezaFeliz$HappinessScore), ], 10)
top_happiness_countries
##        Country HappinessScore Beer_PerCapita Spirit_PerCapita Wine_PerCapita
## 1      Denmark          7.526            224               81            278
## 2  Switzerland          7.509            185              100            280
## 3      Iceland          7.501            233               61             78
## 4       Norway          7.498            169               71            129
## 5      Finland          7.413            263              133             97
## 6       Canada          7.404            240              122            100
## 7  Netherlands          7.339            251               88            190
## 8  New Zealand          7.334            203               79            175
## 9    Australia          7.313            261               72            212
## 10      Sweden          7.291            152               60            186

Realizamos un gráfico de barras

bar_plot <- ggplot(top_happiness_countries, aes(x = reorder(Country, -HappinessScore), y = Beer_PerCapita)) +
  geom_bar(stat = "identity", fill = "skyblue", width = 0.7) +
  labs(title = "Top 10 Happiest Countries and Beer Consumption",
       x = "Country",
       y = "Beer Per Capita") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))


print(bar_plot)

Realizamos un gráfico de correlación

ggscatter(data = CervezaFeliz, x = "HappinessScore", y = "Beer_PerCapita", 
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "HappinessScore", ylab = "Beer_PerCapita")

De la gráfica podemos concluir que:

  • El coeficiente de correlación (R) es 0.49. Este valor indica la fuerza y la dirección de la relación entre las dos variables medidas; sugiere una correlación moderadamente positiva. En otras palabras, a medida que una variable aumenta, la otra tiende a aumentar también, pero no de manera perfecta (ya que el valor no es 1).
  • El valor p es 7.8e-09, que es un valor extremadamente pequeño. En términos generales, el valor p indica la probabilidad de que la correlación observada sea estadísticamente significativa.

La interpretación sería que hay una correlación moderadamente positiva significativa entre las dos variables medidas. Sin embargo, la correlación no implica causalidad; es decir, aunque hay una relación entre las dos variables, no podemos concluir que un cambio en una variable causa un cambio en la otra. Por lo que si bien beber cerveza pone contentos a muchos, no es un factor determinante para ser feliz.

¡Salud!