Set up your data for IPEDS Fall Enrollment processing"

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(IPEDSuploadables)

The produce_ef1_report function requires 2 separate dataframes, one with row-level students and one with pre-aggregated retention counts.

The dataframes must follow the format described below

Student data requirements

  • One row per person
  • One IPEDS Unitid per file
  • Columns with values and types as described below in any order (additional columns are allowed)
  • Double-starred column names (**) are only required in years when IPEDS collects that information. In off-years, you can omit the columns or enter any placeholder value.

Column names can use any capitalization method you like. Do NOT include (**) in the column names.

#this chunk is only used during interactive session by the package maintainers, if the requirements have been updated

tryCatch(specs_EF1 <- googlesheets4::read_sheet("https://docs.google.com/spreadsheets/d/1XVcGKtrAwsgKRYvqrbzO13-w8_u3IB2oYft-F5Psxx4/edit", sheet = 1),
         error = function(x) message("Google Sheet unavailable"),
         warning = function(y) message("There was a warning"))
usethis::use_data(specs_EF1, overwrite = TRUE)
library(magrittr)
specs_EF1$ACCEPTABLE_VALUES <- stringr::str_replace_all(specs_EF1$ACCEPTABLE_VALUES, pattern = "\\n", replacement = "<br>")
specs_EF1_students <- specs_EF1[specs_EF1$DATA_FRAME == 'students', 2:4]
knitr::kable(specs_EF1_students,
             format = 'html',
             escape = FALSE,
             col.names = c('Column Name', 'Column Type', 'Acceptable Value - Definition')) %>%
    kableExtra::kable_styling(bootstrap_options = "striped") %>%
  kableExtra::column_spec(2, italic = TRUE, width = '8em')

Retention data requirements

  • One row for full-time counts, one row for part-time counts
  • One IPEDS Unitid per file
  • Columns with values and types as described below in any order (additional columns are allowed)
#figure out why striped isn't working when format = 'html'
specs_EF1_retention <- specs_EF1[specs_EF1$DATA_FRAME == 'retention', 2:4]
knitr::kable(specs_EF1_retention,
             format = 'html',
             escape = FALSE,
             col.names = c('Column Name', 'Column Type', 'Acceptable Value - Definition'),
             row.names = FALSE) %>%
    kableExtra::kable_styling(bootstrap_options = "striped") %>%
  kableExtra::column_spec(column = 2, italic = TRUE, width = '8em', )

Student-faculty ratio

This information will be collected via pop-up box. Type the correct number for your institution's ratio when prompted.



Try the IPEDSuploadables package in your browser

Any scripts or data that you put into this service are public.

IPEDSuploadables documentation built on April 3, 2025, 9:36 p.m.