## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( echo = TRUE, collapse = TRUE, comment = "#>", warning = FALSE, message = FALSE, error = FALSE, outwidth = "100%", fig.width = 6, fig.height = 4, fig.align = "center") ## ----------------------------------------------------------------------------- library(dplyr) library(ggplot2) library(forcats) library(learningtower) #loading the student subset data data(student_subset_2018) #loading the school data data(school) #loading the country data data(countrycode) selected_countries = c("AUS", "FIN", "JPN", "USA", "NZL", "ESP") #joining the student, school dataset school_student_subset_2018 <- left_join( student_subset_2018, school, by = c("school_id", "country", "year")) #check the count of public and private schools in the a few randomly selected countries school_student_subset_2018 |> dplyr::filter(country %in% selected_countries) |> group_by(country, public_private) |> tally() |> dplyr::mutate(percent = n/sum(n)) |> dplyr::ungroup() |> left_join(countrycode, by = "country") |> ggplot(aes(x = percent, y = country_name, fill = public_private)) + geom_col(position = position_stack()) + scale_x_continuous(labels = scales::percent) + scale_fill_manual(values = c("#FF7F0EFF", "#1F77B4FF")) + labs(title = "Distribution of public and private schools in the year 2018", y = "", x = "Percentage of schools", fill = "") ## ----echo=FALSE--------------------------------------------------------------- student_data_2018 <- load_student("2018") data(school) data(countrycode) school_student_2018 <- left_join( student_data_2018, school, by = c("school_id", "country", "year")) school_student_2018 |> dplyr::filter(country %in% selected_countries) |> group_by(country) |> summarise(avg_fund_gov = mean(fund_gov, na.rm = TRUE)) |> arrange(avg_fund_gov) |> mutate(country = fct_reorder(country, avg_fund_gov)) |> left_join(countrycode, by = "country") |> mutate(country_name = fct_reorder(country_name, avg_fund_gov)) |> ggplot(aes(x=country_name, y=avg_fund_gov)) + geom_segment(aes(xend=country_name, yend=0)) + geom_point(size=4, color="orange") + coord_flip() + theme_bw() + labs(x = "", y = "Average percentage of government funding", title = "Funding for schools in the year 2018 from government")