TyT2020W08 - Comparison with Dumbells

By Johanie Fournier, agr. in rstats tidyverse tidytuesday

February 20, 2020

Get the data

food <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-02-18/food_consumption.csv")
## Rows: 1430 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): country, food_category
## dbl (2): consumption, co2_emmission
## 
## ℹ 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.

Explore the data

glimpse(food)
## Rows: 1,430
## Columns: 4
## $ country       <chr> "Argentina", "Argentina", "Argentina", "Argentina", "Arg…
## $ food_category <chr> "Pork", "Poultry", "Beef", "Lamb & Goat", "Fish", "Eggs"…
## $ consumption   <dbl> 10.51, 38.66, 55.48, 1.56, 4.36, 11.39, 195.08, 103.11, …
## $ co2_emmission <dbl> 37.20, 41.53, 1712.00, 54.63, 6.96, 10.46, 277.87, 19.66…
food %>% 
  count(food_category) %>%
  knitr::kable()
food_category n
Beef 130
Eggs 130
Fish 130
Lamb & Goat 130
Milk - inc. cheese 130
Nuts inc. Peanut Butter 130
Pork 130
Poultry 130
Rice 130
Soybeans 130
Wheat and Wheat Products 130
plt1 <-food %>% 
  #filter(adr<=225, adr>0) %>% 
  ggplot(aes(x=" ", y = consumption)) +
  geom_boxplot(fill = "#FFFFFF", color = "black") + 
  coord_flip() +
  theme_classic() +
  xlab("") +
  ylab("consommation")+
  theme(axis.text.y=element_blank(),
        axis.ticks.y=element_blank())

plt2 <-food %>%
  #filter(adr<=225, adr>0) %>% 
  ggplot() +
   geom_histogram(aes(x = consumption, y = (..count..)/sum(..count..)),
                       position = "identity", binwidth = 1, 
                       fill = "#FFFFFF", color = "black") +
   ylab("Fréquence Relative")+
   xlab("")+
  theme_classic()+
  theme(axis.text.x = element_blank())+
  theme(axis.ticks.x = element_blank())
plt2 + plt1 + plot_layout(nrow = 2, heights = c(2, 1))
plt1 <-food %>% 
  #filter(adr<=225, adr>0) %>% 
  ggplot(aes(x=" ", y = co2_emmission)) +
  geom_boxplot(fill = "#FFFFFF", color = "black") + 
  coord_flip() +
  theme_classic() +
  xlab("") +
  ylab("Émissions de C02")+
  theme(axis.text.y=element_blank(),
        axis.ticks.y=element_blank())

plt2 <-food %>%
  #filter(adr<=225, adr>0) %>% 
  ggplot() +
   geom_histogram(aes(x = co2_emmission, y = (..count..)/sum(..count..)),
                       position = "identity", binwidth = 1, 
                       fill = "#FFFFFF", color = "black") +
   ylab("Fréquence Relative")+
   xlab("")+
  theme_classic()+
  theme(axis.text.x = element_blank())+
  theme(axis.ticks.x = element_blank())
plt2 + plt1 + plot_layout(nrow = 2, heights = c(2, 1))

Prepare the data

data_tot<-food %>% 
  group_by(country) %>% 
  summarise_if(is.numeric, sum, na.rm=TRUE) %>% 
  ungroup()

Visualize the data

#Graphique
gg<-ggplot()
#Dumbell
gg<-gg + ggalt::geom_dumbbell(data=data_tot, 
                     aes(x = consumption, xend = co2_emmission, y = reorder(country,consumption),group = country),  
                     colour = "white",
                     size = 2,
                     colour_x = "#922A7D",
                     colour_xend = "#0F0E0E", 
                     dot_guide_size=0)
#modifier le thème
gg <- gg +  theme(plot.background = element_rect(fill = "#687169"),
                  panel.background = element_rect(fill = "#687169"),
                  panel.grid.major.y= element_blank(),
                  panel.grid.major.x= element_blank(),
                  panel.grid.minor = element_blank(),
                  axis.line.x = element_line(color="white"),
                  axis.line.y = element_line(color="white"),
                  axis.ticks.x = element_blank(), 
                  axis.ticks.y = element_blank())
#ajouter les titres
gg<-gg + labs(title=
                "Our <span style='color:#0F0E0E'>C02 emission</span> does not only depend on<br>what we eat but also on <span style='color:#922A7D'>how much</span> we eat...<br>",
              subtitle = " ",
              x="kg/person/year", 
              y=" ", 
              caption="\nSOURCE: nu3   |  DESIGN: Johanie Fournier, agr.")
gg<-gg + theme(  plot.title    = element_markdown(lineheight = 1.1,size=24, hjust=1,vjust=0.5, color="white"),
                 plot.subtitle = element_blank(),
                 plot.caption  = element_text(size=8, hjust=1,vjust=0.5, family="Tw Cen MT", color="white"),
                 axis.title.y  = element_blank(),
                 axis.title.x  = element_text(size=8, hjust=0,vjust=0.5, family="Tw Cen MT", color="white"),
                 axis.text.x   = element_text(size=8, hjust=0.5,vjust=0.5, family="Tw Cen MT", color="white"), 
                 axis.text.y   = element_text(size=8, hjust=1,vjust=0.5, family="Tw Cen MT", color="white"))
Posted on:
February 20, 2020
Length:
3 minute read, 476 words
Categories:
rstats tidyverse tidytuesday
Tags:
rstats tidyverse tidytuesday
See Also:
Predicting MO with H2O Models from IRDA data
IRDA soil data
This is the begining of a cheat sheet!