Programming with dplyr
Dr. Chester Ismay
Educator, Data Scientist, and R/Python Consultant
grouped_mean_gov_revenue <- function(group_col) {
joined %>%
group_by({{ group_col }}) %>%
summarize(mean_gov_revenue = mean(gov_revenue_as_perc_gdp))
}
grouped_mean_gov_revenue(group_col = continent)
{{ }}
!!enquo()
is the same as {{ }}
grouped_mean_gov_revenue <- function(group_col) {
joined %>%
group_by(!!enquo(group_col)) %>%
summarize(
mean_gov_revenue = mean(
gov_revenue_as_perc_gdp
)
)
}
grouped_mean_gov_revenue(group_col = continent)
# A tibble: 17 × 2
year mean_gov_revenue
<dbl> <dbl>
1 2000 39.4
2 2001 30.8
...
16 2015 34.7
17 2016 32.3
grouped_mean_gov_revenue <- function(group_col) {
joined %>%
group_by(!!enquo(group_col)) %>%
summarize(mean_gov_revenue = mean(gov_revenue_as_perc_gdp))
}
grouped_mean_for_column <- function(group_col, col_to_mean) {
joined %>% group_by(!!enquo(group_col)) %>%
summarize(mean(!!enquo(col_to_mean))) }
grouped_mean_for_column(group_col = continent,
col_to_mean = perc_cvd_crd_70)
# A tibble: 5 × 2
continent `mean(perc_cvd_crd_70)`
<fct> <dbl>
1 Africa 23.8
2 Americas 14.7
3 Asia 19.8
4 Europe 16.3
5 Oceania 9.91
Programming with dplyr