library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.2.1     ✔ readr     2.2.0
## ✔ forcats   1.0.1     ✔ stringr   1.6.0
## ✔ ggplot2   4.0.3     ✔ tibble    3.3.1
## ✔ lubridate 1.9.5     ✔ tidyr     1.3.2
## ✔ purrr     1.2.2     
## ── 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
url <- "https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-01/key_crop_yields.csv"
df_crop <- read_csv(url)
## Rows: 13075 Columns: 14
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (2): Entity, Code
## dbl (12): Year, Wheat (tonnes per hectare), Rice (tonnes per hectare), Maize...
## 
## ℹ 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.
data_select <- select(df_crop, Entity, Year, `Potatoes (tonnes per hectare)`, `Cassava (tonnes per hectare)` ) #1
data_select
## # A tibble: 13,075 × 4
##    Entity       Year `Potatoes (tonnes per hectare)` Cassava (tonnes per hecta…¹
##    <chr>       <dbl>                           <dbl>                       <dbl>
##  1 Afghanistan  1961                            8.67                          NA
##  2 Afghanistan  1962                            7.67                          NA
##  3 Afghanistan  1963                            8.13                          NA
##  4 Afghanistan  1964                            8.6                           NA
##  5 Afghanistan  1965                            8.8                           NA
##  6 Afghanistan  1966                            9.07                          NA
##  7 Afghanistan  1967                            9.8                           NA
##  8 Afghanistan  1968                           10                             NA
##  9 Afghanistan  1969                           10.2                           NA
## 10 Afghanistan  1970                            9.54                          NA
## # ℹ 13,065 more rows
## # ℹ abbreviated name: ¹​`Cassava (tonnes per hectare)`
select(df_crop, -c(`Soybeans (tonnes per hectare)`, `Beans (tonnes per hectare)`, 'Peas (tonnes per hectare)')) #2
## # A tibble: 13,075 × 11
##    Entity      Code   Year `Wheat (tonnes per hectare)` Rice (tonnes per hecta…¹
##    <chr>       <chr> <dbl>                        <dbl>                    <dbl>
##  1 Afghanistan AFG    1961                        1.02                      1.52
##  2 Afghanistan AFG    1962                        0.974                     1.52
##  3 Afghanistan AFG    1963                        0.832                     1.52
##  4 Afghanistan AFG    1964                        0.951                     1.73
##  5 Afghanistan AFG    1965                        0.972                     1.73
##  6 Afghanistan AFG    1966                        0.867                     1.52
##  7 Afghanistan AFG    1967                        1.12                      1.92
##  8 Afghanistan AFG    1968                        1.16                      1.95
##  9 Afghanistan AFG    1969                        1.19                      1.98
## 10 Afghanistan AFG    1970                        0.956                     1.81
## # ℹ 13,065 more rows
## # ℹ abbreviated name: ¹​`Rice (tonnes per hectare)`
## # ℹ 6 more variables: `Maize (tonnes per hectare)` <dbl>,
## #   `Potatoes (tonnes per hectare)` <dbl>,
## #   `Cassava (tonnes per hectare)` <dbl>, `Barley (tonnes per hectare)` <dbl>,
## #   `Cocoa beans (tonnes per hectare)` <dbl>,
## #   `Bananas (tonnes per hectare)` <dbl>
filter(df_crop,Code=="IDN" , `Rice (tonnes per hectare)` <2.0 ) #3
## # A tibble: 7 × 14
##   Entity    Code   Year `Wheat (tonnes per hectare)` `Rice (tonnes per hectare)`
##   <chr>     <chr> <dbl>                        <dbl>                       <dbl>
## 1 Indonesia IDN    1961                           NA                        1.76
## 2 Indonesia IDN    1962                           NA                        1.79
## 3 Indonesia IDN    1963                           NA                        1.72
## 4 Indonesia IDN    1964                           NA                        1.76
## 5 Indonesia IDN    1965                           NA                        1.77
## 6 Indonesia IDN    1966                           NA                        1.77
## 7 Indonesia IDN    1967                           NA                        1.76
## # ℹ 9 more variables: `Maize (tonnes per hectare)` <dbl>,
## #   `Soybeans (tonnes per hectare)` <dbl>,
## #   `Potatoes (tonnes per hectare)` <dbl>, `Beans (tonnes per hectare)` <dbl>,
## #   `Peas (tonnes per hectare)` <dbl>, `Cassava (tonnes per hectare)` <dbl>,
## #   `Barley (tonnes per hectare)` <dbl>,
## #   `Cocoa beans (tonnes per hectare)` <dbl>,
## #   `Bananas (tonnes per hectare)` <dbl>
filter(df_crop, Year > 2000, `Wheat (tonnes per hectare)` >5.0 ) #4
## # A tibble: 406 × 14
##    Entity  Code   Year `Wheat (tonnes per hectare)` `Rice (tonnes per hectare)`
##    <chr>   <chr> <dbl>                        <dbl>                       <dbl>
##  1 Austria AUT    2001                         5.24                          NA
##  2 Austria AUT    2004                         5.92                          NA
##  3 Austria AUT    2005                         5.03                          NA
##  4 Austria AUT    2008                         5.69                          NA
##  5 Austria AUT    2010                         5.01                          NA
##  6 Austria AUT    2011                         5.85                          NA
##  7 Austria AUT    2013                         5.37                          NA
##  8 Austria AUT    2014                         5.92                          NA
##  9 Austria AUT    2015                         5.70                          NA
## 10 Austria AUT    2016                         6.25                          NA
## # ℹ 396 more rows
## # ℹ 9 more variables: `Maize (tonnes per hectare)` <dbl>,
## #   `Soybeans (tonnes per hectare)` <dbl>,
## #   `Potatoes (tonnes per hectare)` <dbl>, `Beans (tonnes per hectare)` <dbl>,
## #   `Peas (tonnes per hectare)` <dbl>, `Cassava (tonnes per hectare)` <dbl>,
## #   `Barley (tonnes per hectare)` <dbl>,
## #   `Cocoa beans (tonnes per hectare)` <dbl>, …
df_crop %>% 
filter(Code %in% c("IDN", "MYS"), Year == 2015) #5
## # A tibble: 2 × 14
##   Entity    Code   Year `Wheat (tonnes per hectare)` `Rice (tonnes per hectare)`
##   <chr>     <chr> <dbl>                        <dbl>                       <dbl>
## 1 Indonesia IDN    2015                           NA                        5.34
## 2 Malaysia  MYS    2015                           NA                        4.02
## # ℹ 9 more variables: `Maize (tonnes per hectare)` <dbl>,
## #   `Soybeans (tonnes per hectare)` <dbl>,
## #   `Potatoes (tonnes per hectare)` <dbl>, `Beans (tonnes per hectare)` <dbl>,
## #   `Peas (tonnes per hectare)` <dbl>, `Cassava (tonnes per hectare)` <dbl>,
## #   `Barley (tonnes per hectare)` <dbl>,
## #   `Cocoa beans (tonnes per hectare)` <dbl>,
## #   `Bananas (tonnes per hectare)` <dbl>
df_crop %>% 
  filter(Year == 2020) %>% 
  arrange(`Maize (tonnes per hectare)`) #6
## # A tibble: 0 × 14
## # ℹ 14 variables: Entity <chr>, Code <chr>, Year <dbl>,
## #   Wheat (tonnes per hectare) <dbl>, Rice (tonnes per hectare) <dbl>,
## #   Maize (tonnes per hectare) <dbl>, Soybeans (tonnes per hectare) <dbl>,
## #   Potatoes (tonnes per hectare) <dbl>, Beans (tonnes per hectare) <dbl>,
## #   Peas (tonnes per hectare) <dbl>, Cassava (tonnes per hectare) <dbl>,
## #   Barley (tonnes per hectare) <dbl>, Cocoa beans (tonnes per hectare) <dbl>,
## #   Bananas (tonnes per hectare) <dbl>
df_crop %>% 
  filter(Code == "IDN") %>% 
  arrange(desc(`Potatoes (tonnes per hectare)`)) %>% 
  select(Entity, Code, Year, `Potatoes (tonnes per hectare)`) #7
## # A tibble: 58 × 4
##    Entity    Code   Year `Potatoes (tonnes per hectare)`
##    <chr>     <chr> <dbl>                           <dbl>
##  1 Indonesia IDN    2018                            18.7
##  2 Indonesia IDN    2016                            18.3
##  3 Indonesia IDN    2015                            18.2
##  4 Indonesia IDN    2014                            17.7
##  5 Indonesia IDN    2006                            16.9
##  6 Indonesia IDN    2008                            16.7
##  7 Indonesia IDN    1995                            16.6
##  8 Indonesia IDN    2012                            16.6
##  9 Indonesia IDN    2009                            16.5
## 10 Indonesia IDN    2005                            16.4
## # ℹ 48 more rows
mutate(df_crop, `Wheat (kg per hectare)` = `Wheat (tonnes per hectare)` * 1000)
## # A tibble: 13,075 × 15
##    Entity      Code   Year `Wheat (tonnes per hectare)` Rice (tonnes per hecta…¹
##    <chr>       <chr> <dbl>                        <dbl>                    <dbl>
##  1 Afghanistan AFG    1961                        1.02                      1.52
##  2 Afghanistan AFG    1962                        0.974                     1.52
##  3 Afghanistan AFG    1963                        0.832                     1.52
##  4 Afghanistan AFG    1964                        0.951                     1.73
##  5 Afghanistan AFG    1965                        0.972                     1.73
##  6 Afghanistan AFG    1966                        0.867                     1.52
##  7 Afghanistan AFG    1967                        1.12                      1.92
##  8 Afghanistan AFG    1968                        1.16                      1.95
##  9 Afghanistan AFG    1969                        1.19                      1.98
## 10 Afghanistan AFG    1970                        0.956                     1.81
## # ℹ 13,065 more rows
## # ℹ abbreviated name: ¹​`Rice (tonnes per hectare)`
## # ℹ 10 more variables: `Maize (tonnes per hectare)` <dbl>,
## #   `Soybeans (tonnes per hectare)` <dbl>,
## #   `Potatoes (tonnes per hectare)` <dbl>, `Beans (tonnes per hectare)` <dbl>,
## #   `Peas (tonnes per hectare)` <dbl>, `Cassava (tonnes per hectare)` <dbl>,
## #   `Barley (tonnes per hectare)` <dbl>, …
df_crop %>% 
  mutate( Rice_Status = ifelse(`Wheat (tonnes per hectare)` > 4, "Tinggi", "Rendah")) %>% select(Code,Year, Rice_Status) #8
## # A tibble: 13,075 × 3
##    Code   Year Rice_Status
##    <chr> <dbl> <chr>      
##  1 AFG    1961 Rendah     
##  2 AFG    1962 Rendah     
##  3 AFG    1963 Rendah     
##  4 AFG    1964 Rendah     
##  5 AFG    1965 Rendah     
##  6 AFG    1966 Rendah     
##  7 AFG    1967 Rendah     
##  8 AFG    1968 Rendah     
##  9 AFG    1969 Rendah     
## 10 AFG    1970 Rendah     
## # ℹ 13,065 more rows
df_crop %>% 
  filter(Code == "IDN") %>% 
  group_by(Code) %>% 
  summarise(`Mean Bananas (tonnes per hectare)` = mean(`Bananas (tonnes per hectare)`, na.rm = TRUE)) #9
## # A tibble: 1 × 2
##   Code  `Mean Bananas (tonnes per hectare)`
##   <chr>                               <dbl>
## 1 IDN                                  30.5
df_crop %>% 
  filter(Year >= 2010) %>% 
  group_by(Entity) %>% 
  summarise(`SD Maize` = sd(`Maize (tonnes per hectare)`, na.rm = TRUE)) %>% 
  arrange(desc(`SD Maize`)) #10
## # A tibble: 242 × 2
##    Entity                           `SD Maize`
##    <chr>                                 <dbl>
##  1 Kuwait                                 9.24
##  2 United Arab Emirates                   9.19
##  3 Jordan                                 7.03
##  4 Israel                                 4.80
##  5 Saint Vincent and the Grenadines       2.89
##  6 Qatar                                  2.74
##  7 French Guiana                          2.50
##  8 New Caledonia                          2.29
##  9 Slovakia                               1.68
## 10 Oman                                   1.61
## # ℹ 232 more rows

R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.