Reorder Plots to Highlight Findings
This lesson is called Reorder Plots to Highlight Findings, part of the Going Deeper with R course. This lesson is called Reorder Plots to Highlight Findings, part of the Going Deeper with R course.
Transcript
Click on the transcript to go to that point in the video. Please note that transcripts are auto generated and may contain minor inaccuracies.
View code shown in video
# Load Packages -----------------------------------------------------------
library(tidyverse)
library(fs)
# Create Directory --------------------------------------------------------
dir_create("data")
# Download Data -----------------------------------------------------------
# download.file("https://github.com/rfortherestofus/going-deeper-v2/raw/main/data/third_grade_math_proficiency.rds",
# mode = "wb",
# destfile = "data/third_grade_math_proficiency.rds")
# Import Data -------------------------------------------------------------
third_grade_math_proficiency <-
read_rds("data/third_grade_math_proficiency.rds") |>
select(academic_year, school, school_id, district, proficiency_level, number_of_students) |>
mutate(is_proficient = case_when(
proficiency_level >= 3 ~ TRUE,
.default = FALSE
)) |>
group_by(academic_year, school, district, school_id, is_proficient) |>
summarize(number_of_students = sum(number_of_students, na.rm = TRUE)) |>
ungroup() |>
group_by(academic_year, school, district, school_id) |>
mutate(percent_proficient = number_of_students / sum(number_of_students, na.rm = TRUE)) |>
ungroup() |>
filter(is_proficient == TRUE) |>
select(academic_year, school, district, percent_proficient) |>
rename(year = academic_year) |>
mutate(percent_proficient = case_when(
is.nan(percent_proficient) ~ NA,
.default = percent_proficient
))
# Plot --------------------------------------------------------------------
third_grade_math_proficiency |>
filter(year == "2021-2022") |>
filter(district == "Portland SD 1J") |>
ggplot(aes(x = percent_proficient,
y = school)) +
geom_col()
third_grade_math_proficiency |>
filter(year == "2021-2022") |>
filter(district == "Portland SD 1J") |>
ggplot(aes(x = percent_proficient,
y = reorder(school, percent_proficient))) +
geom_col()
third_grade_math_proficiency |>
filter(year == "2021-2022") |>
filter(district == "Portland SD 1J") |>
mutate(school = fct_reorder(school, percent_proficient)) |>
ggplot(aes(x = percent_proficient,
y = school)) +
geom_col()
Your Turn
Make a bar chart that shows race/ethnicity in Beaverton SD 48J. As before, filter your data to only include 2022-2023 data and only include Beaverton SD 48J. Then, do the following:
Using the
reorder()
function, make a bar chart that shows the percent of race/ethnicity groups in descending orderMake the same bar chart using
mutate()
andfct_reorder()
to reorder the race/ethnicity groups
Learn More
R for the Rest of Us consultant Albert Rapp has written a blog post on reordering items in plots.
If you want to delve deeper into factors, check out:
Have any questions? Put them below and we will help you out!
Course Content
44 Lessons
You need to be signed-in to comment on this post. Login.