if (!require('lubridate')) install.packages('lubridate');
library(lubridate)

path = 'estat_sdg_02_10_en.CSV'
df_obesity<- read.csv(path, row.names=NULL)
summary(df_obesity)
   DATAFLOW         LAST.UPDATE            freq               unit               bmi                geo             TIME_PERIOD     OBS_VALUE    
 Length:468         Length:468         Length:468         Length:468         Length:468         Length:468         Min.   :2008   Min.   : 5.90  
 Class :character   Class :character   Class :character   Class :character   Class :character   Class :character   1st Qu.:2014   1st Qu.:19.23  
 Mode  :character   Mode  :character   Mode  :character   Mode  :character   Mode  :character   Mode  :character   Median :2017   Median :36.50  
                                                                                                                   Mean   :2017   Mean   :35.87  
                                                                                                                   3rd Qu.:2019   3rd Qu.:50.38  
                                                                                                                   Max.   :2022   Max.   :64.80  
                                                                                                                                  NA's   :6      
   OBS_FLAG        
 Length:468        
 Class :character  
 Mode  :character  
                   
                   
                   
                   
df_obesity$bmi_fact <- as.factor(df_obesity$bmi)
# Crear el gráfico y asignarlo a 'P1'
P1 <- ggplot(df_obesity, aes(x = bmi_fact, y = OBS_VALUE, fill = bmi)) +
  geom_flat_violin(position = position_nudge(x = .25, y = 0), adjust = 2) +
  geom_point(position = position_jitter(width = .15), size = .25) +

  geom_boxplot(aes(x = as.numeric(bmi_fact) + 0.25, y = OBS_VALUE), 
               outlier.shape = NA, alpha = 0.3, width = .1, colour = "black") +
  
  ylab('OBS_VALUE') + xlab('bmi') +
  coord_flip() + theme_cowplot() +
  guides(fill = FALSE, colour = FALSE) +
  ggtitle("Raincloud Plot obesity")

# Mostrar el gráfico
P1

LS0tDQp0aXRsZTogIlBFQyAyIFJhaW5jbG91ZCBQbG90Ig0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KYGBge3IgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KaWYgKCFyZXF1aXJlKCdsdWJyaWRhdGUnKSkgaW5zdGFsbC5wYWNrYWdlcygnbHVicmlkYXRlJyk7DQpsaWJyYXJ5KGx1YnJpZGF0ZSkNCg0KcGF0aCA9ICdlc3RhdF9zZGdfMDJfMTBfZW4uQ1NWJw0KZGZfb2Jlc2l0eTwtIHJlYWQuY3N2KHBhdGgsIHJvdy5uYW1lcz1OVUxMKQ0KYGBgDQoNCmBgYHtyIHBhY2thZ2Ugc2V0dXAsIGluY2x1ZGUgPSBUUlVFLCBlY2hvID0gRkFMU0V9DQpwYWNrYWdlcyA8LSBjKCJnZ3Bsb3QyIiwgImRwbHlyIiwgImxhdmFhbiIsICJwbHlyIiwgImNvd3Bsb3QiLCAicm1hcmtkb3duIiwgDQogICAgICAgICAgICAgICJyZWFkciIsICJjYVRvb2xzIiwgImJpdG9wcyIpDQoNCmlmIChsZW5ndGgoc2V0ZGlmZihwYWNrYWdlcywgcm93bmFtZXMoaW5zdGFsbGVkLnBhY2thZ2VzKCkpKSkgPiAwKSB7DQogIGluc3RhbGwucGFja2FnZXMoc2V0ZGlmZihwYWNrYWdlcywgcm93bmFtZXMoaW5zdGFsbGVkLnBhY2thZ2VzKCkpKSkgIA0KfQ0KYGBgDQoNCmBgYHtyIHNldHVwX3JhaW5jbG91ZCwgaW5jbHVkZSA9IFRSVUUsIGVjaG8gPSBGQUxTRX0NCmxpYnJhcnkoY293cGxvdCkNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KHJlYWRyKQ0KbGlicmFyeShmb3JjYXRzKQ0KDQpzb3VyY2UoJ1JfcmFpbmNsb3Vkcy5SJykNCnNvdXJjZSgnc3VtbWFyeVNFLlInKQ0Kc291cmNlKCdzaW11bGF0ZURhdGEuUicpDQpgYGANCg0KYGBge3J9DQpzdW1tYXJ5KGRmX29iZXNpdHkpDQpkZl9vYmVzaXR5JGJtaV9mYWN0IDwtIGFzLmZhY3RvcihkZl9vYmVzaXR5JGJtaSkNCmBgYA0KDQpgYGB7cn0NCiMgQ3JlYXIgZWwgZ3LDoWZpY28geSBhc2lnbmFybG8gYSAnUDEnDQpQMSA8LSBnZ3Bsb3QoZGZfb2Jlc2l0eSwgYWVzKHggPSBibWlfZmFjdCwgeSA9IE9CU19WQUxVRSwgZmlsbCA9IGJtaSkpICsNCiAgZ2VvbV9mbGF0X3Zpb2xpbihwb3NpdGlvbiA9IHBvc2l0aW9uX251ZGdlKHggPSAuMjUsIHkgPSAwKSwgYWRqdXN0ID0gMikgKw0KICBnZW9tX3BvaW50KHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gLjE1KSwgc2l6ZSA9IC4yNSkgKw0KDQogIGdlb21fYm94cGxvdChhZXMoeCA9IGFzLm51bWVyaWMoYm1pX2ZhY3QpICsgMC4yNSwgeSA9IE9CU19WQUxVRSksIA0KICAgICAgICAgICAgICAgb3V0bGllci5zaGFwZSA9IE5BLCBhbHBoYSA9IDAuMywgd2lkdGggPSAuMSwgY29sb3VyID0gImJsYWNrIikgKw0KICANCiAgeWxhYignT0JTX1ZBTFVFJykgKyB4bGFiKCdibWknKSArDQogIGNvb3JkX2ZsaXAoKSArIHRoZW1lX2Nvd3Bsb3QoKSArDQogIGd1aWRlcyhmaWxsID0gRkFMU0UsIGNvbG91ciA9IEZBTFNFKSArDQogIGdndGl0bGUoIlJhaW5jbG91ZCBQbG90IG9iZXNpdHkiKQ0KDQojIE1vc3RyYXIgZWwgZ3LDoWZpY28NClAxDQoNCmBgYA0K