-
Notifications
You must be signed in to change notification settings - Fork 2
/
2020_36_GlobalCropYields.Rmd
104 lines (79 loc) · 2.39 KB
/
2020_36_GlobalCropYields.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
title: "Untitled"
author: "Eric Fletcher"
date: "8/24/2020"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
library(tidytuesdayR)
library(tidyverse)
library(scales)
library(janitor)
library(lubridate)
```
```{r}
tuesdata <- tidytuesdayR::tt_load('2020-09-01')
tuesdata
crop_yields <- tuesdata$key_crop_yields %>%
clean_names()
```
```{r}
view(crop_yields)
#249 entities
crop_yields %>%
distinct(entity)
#1969 - 2018
crop_yields %>%
count(year)
crop_yields %>%
summarise(across(everything(), ~mean(!is.na(.))))
```
```{r}
crop_yields_tidy <- crop_yields %>%
pivot_longer(cols = ends_with("hectare"), names_to = "crop", values_to = "yield") %>%
mutate(crop = str_remove(crop, '_.*$')) %>%
filter(!is.na(yield),
crop != "beans")
crop_yields_tidy
#capitalize the first letter for each value in the crop column
str_sub(crop_yields_tidy$crop, 1, 1) <- str_sub(crop_yields_tidy$crop, 1, 1) %>% str_to_upper()
theme_set(theme_minimal())
bar <- crop_yields_tidy %>%
mutate(decade = 10 * floor((year) / 10)) %>%
group_by(decade, crop) %>%
summarise(mean_yield = mean(yield)) %>%
mutate(crop = fct_reorder(crop, -mean_yield)) %>%
arrange(decade, desc(mean_yield)) %>%
ggplot(aes(decade, mean_yield, color = crop))+
geom_line()+
geom_point()+
facet_wrap(~crop, scales = "free_y", nrow = 2) +
labs(title ="Global Crop Yields",
subtitle ="Average Tonnes per Hectare",
x ="",
y ="",
caption ="Data: Our World in Data | Visualization: Eric Fletcher")+
theme(plot.margin = unit(c(1, 1, 1, 1), "cm"),
plot.background = element_rect(fill = "#30332E"),
plot.title = element_text(size = "20", face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = "10", face = "bold", hjust = 0.5),
plot.caption = element_text(size = "7", face = "bold", hjust = 0.5),
legend.position = "none",
text = element_text(color = "white"),
strip.text = element_text(color = "white"),
axis.text.x = element_text(angle = 90, vjust = 0.5,
color = "white"),
axis.text.y = element_text(color = "white"),
panel.grid = element_blank())
bar
ggsave(bar,
units = c("in"),
width = 6.2,
height = 3.8,
dpi = 300,
file="2020_36_GlobalCropYields.png",
type="cairo-png")
```