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!
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
CervezaFeliz <- read.csv("~/01_Master-BigData/A02_AnalisisDatos-Herramientas/Trabajo-Foro/HappinessAlcoholConsumption.csv")
La base de datos contiene las siguientes variables:
Únicamente se trabajará con las variables HappinessScore y Beer_PerCapita.
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
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:
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!