Nama: Rani Tri Hapsari NIM: 2511017220009
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.5.3
## Warning: package 'ggplot2' was built under R version 4.5.3
## Warning: package 'tidyr' was built under R version 4.5.3
## Warning: package 'purrr' was built under R version 4.5.3
## Warning: package 'dplyr' was built under R version 4.5.3
## Warning: package 'stringr' was built under R version 4.5.3
## Warning: package 'forcats' was built under R version 4.5.3
## Warning: package 'lubridate' was built under R version 4.5.3
## ── 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"
# Membaca data read_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)`)
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)`))
## # 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, Entity == "Indonesia", `Rice (tonnes per hectare)` < 2) %>% select(Year, `Rice (tonnes per hectare)`)
## # A tibble: 7 × 2
## Year `Rice (tonnes per hectare)`
## <dbl> <dbl>
## 1 1961 1.76
## 2 1962 1.79
## 3 1963 1.72
## 4 1964 1.76
## 5 1965 1.77
## 6 1966 1.77
## 7 1967 1.76
filter(df_crop, `Wheat (tonnes per hectare)` > 5, Year > 2000) %>% select(Entity, `Wheat (tonnes per hectare)`)
## # A tibble: 406 × 2
## Entity `Wheat (tonnes per hectare)`
## <chr> <dbl>
## 1 Austria 5.24
## 2 Austria 5.92
## 3 Austria 5.03
## 4 Austria 5.69
## 5 Austria 5.01
## 6 Austria 5.85
## 7 Austria 5.37
## 8 Austria 5.92
## 9 Austria 5.70
## 10 Austria 6.25
## # ℹ 396 more rows
filter(df_crop, Entity %in% c("Indonesia", "Malaysia"), Year == 2015)
## # 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>
ket: pada dataset tidak terdapat hasil pada tahun 2020, makanya tidak muncul data yang sesuai hasil filter
df_crop %>% filter(Year == 2020) %>% arrange(`Maize (tonnes per hectare)`) %>% head(1)
## # 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>
unique(df_crop$Year)
## [1] 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975
## [16] 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990
## [31] 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005
## [46] 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
df_crop %>% filter(Entity == "Indonesia") %>% arrange(desc(`Potatoes (tonnes per hectare)`)) %>% select(Entity, Year, `Potatoes (tonnes per hectare)`)
## # A tibble: 58 × 3
## Entity Year `Potatoes (tonnes per hectare)`
## <chr> <dbl> <dbl>
## 1 Indonesia 2018 18.7
## 2 Indonesia 2016 18.3
## 3 Indonesia 2015 18.2
## 4 Indonesia 2014 17.7
## 5 Indonesia 2006 16.9
## 6 Indonesia 2008 16.7
## 7 Indonesia 1995 16.6
## 8 Indonesia 2012 16.6
## 9 Indonesia 2009 16.5
## 10 Indonesia 2005 16.4
## # ℹ 48 more rows
df_crop %>% mutate(Rice_Status = ifelse(`Rice (tonnes per hectare)` > 4, "Tinggi", "Rendah")) %>% select(Entity, Code, Year, `Rice (tonnes per hectare)`, Rice_Status)
## # A tibble: 13,075 × 5
## Entity Code Year `Rice (tonnes per hectare)` Rice_Status
## <chr> <chr> <dbl> <dbl> <chr>
## 1 Afghanistan AFG 1961 1.52 Rendah
## 2 Afghanistan AFG 1962 1.52 Rendah
## 3 Afghanistan AFG 1963 1.52 Rendah
## 4 Afghanistan AFG 1964 1.73 Rendah
## 5 Afghanistan AFG 1965 1.73 Rendah
## 6 Afghanistan AFG 1966 1.52 Rendah
## 7 Afghanistan AFG 1967 1.92 Rendah
## 8 Afghanistan AFG 1968 1.95 Rendah
## 9 Afghanistan AFG 1969 1.98 Rendah
## 10 Afghanistan AFG 1970 1.81 Rendah
## # ℹ 13,065 more rows
df_crop %>%
filter(Entity == "Indonesia") %>%
summarise(`Mean Bananas (tonnes per hectare)` = mean(`Bananas (tonnes per hectare)`))
## # A tibble: 1 × 1
## `Mean Bananas (tonnes per hectare)`
## <dbl>
## 1 30.5
df_crop %>%
filter(Year >= 2010) %>% group_by(Entity) %>% summarise(`Standar Deviasi Maize` = sd(`Maize (tonnes per hectare)`)) %>% filter(!is.na(`Standar Deviasi Maize`)) %>% arrange(desc(`Standar Deviasi Maize`))
## # A tibble: 202 × 2
## Entity `Standar Deviasi 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
## # ℹ 192 more rows