Skip to content
Mapping with R has been completely revamped. Check it out →
R for the Rest of Us Logo

Going Deeper with R

Pipe Data into ggplot

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() |> 
  mutate(percent_proficient = case_when(
    is.nan(percent_proficient) ~ NA,
    .default = percent_proficient
  )) |> 
  filter(is_proficient == TRUE) |> 
  select(academic_year, school, district, percent_proficient) |> 
  rename(year = academic_year) 


# Plot --------------------------------------------------------------------

third_grade_math_proficiency |> 
  filter(year == "2021-2022") |> 
  filter(district == "Portland SD 1J") |> 
  ggplot(aes(x = percent_proficient, 
             y = school)) +
  geom_col()

Your Turn

  1. Create a new R script file.

  2. Download the enrollment data by race/ethnicity and create a data frame called enrollment_by_race_ethnicity using the starter code below.

  3. Pipe your data into a bar chart that shows the breakdown of race/ethnicity among students in Beaverton SD 48J in 2022-2023.

# 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/enrollment_by_race_ethnicity.rds",
              mode = "wb",
              destfile = "data/enrollment_by_race_ethnicity.rds")

# Import Data -------------------------------------------------------------

enrollment_by_race_ethnicity <-
  read_rds("data/enrollment_by_race_ethnicity.rds") |> 
  select(-district_institution_id)  |> 
  select(year, district, everything()) |> 
  mutate(year = case_when(
    year == "School 2021-22" ~ "2021-2022",
    year == "School 2022-23" ~ "2022-2023",
  ))

Have any questions? Put them below and we will help you out!

You need to be signed-in to comment on this post. Login.

Kimber Carman

Kimber Carman • May 14, 2025

Hello, I'm having a problem downloading the file. Am I doing something wrong? This is the error message I'm getting:

> download.file("https://github.com/rfortherestofus/going-deeper-v2/raw/main/data/enrollment_by_race_ethnicity.rds",
              mode = "wb",
              destfile = "data/enrollment_by_race_ethnicity.rds")
trying URL 'https://github.com/rfortherestofus/going-deeper-v2/raw/main/data/enrollment_by_race_ethnicity.rds'
Error in download.file("https://github.com/rfortherestofus/going-deeper-v2/raw/main/data/enrollment_by_race_ethnicity.rds",  : 
  cannot open URL 'https://github.com/rfortherestofus/going-deeper-v2/raw/main/data/enrollment_by_race_ethnicity.rds'
In addition: Warning message:
In download.file("https://github.com/rfortherestofus/going-deeper-v2/raw/main/data/enrollment_by_race_ethnicity.rds",  :
  URL 'https://github.com/rfortherestofus/going-deeper-v2/raw/main/data/enrollment_by_race_ethnicity.rds': status was 'SSL connect error'
Gracielle Higino

Gracielle Higino Coach • May 15, 2025

Hi Kimber! Are you able to download the file from your browser?

What happens if you try to use method = "curl" or method = "wget" instead of method = "wb"?

Hajira Koeller

Hajira Koeller • May 21, 2025

Hi1 I am getting an error importing the rds file. Error message is "Error in readRDS(con, refhook = refhook) : unknown input format". Any ideas?

Gracielle Higino

Gracielle Higino Coach • May 22, 2025

Hi Hajira! This could be cause by a few different things, I'd need to look at your session to have a more precise guess. I'd recommend that you start your session over and make sure to not save the RHistory or RData. Then try downloading the RDS file again to make sure it's not corrupted, and read it in.

All these things can be sources of problems for reading RDS files (cluttered session/overloaded memory, corrupted RDS file, RHistory with conflicts...), and this process should take care of them. If you still get this error, please feel free to send me a screenshot or a video showing your screen, or book a session with me so we can try to debug it live.

Course Content

44 Lessons