A few things to note:
#official install from CRAN install.packages("IPEDSuploadables") #development install from the github repo #use this if you want to pull in changes before they reach cran or need to use other code branches #development install option 1 ::install_github("AlisonLanski/IPEDSuploadables") remotes #development install option 2 ::install_github("AlisonLanski/IPEDSuploadables")devtools
#load the packages library(IPEDSuploadables) #> This version of IPEDSuploadables has been updated for #> the 2022-2023 reporting cycle. #> If you are in a later cycle or want to capture any bug fixes, #> please update the package.
The package requires specific column names and values to work correctly. Each IPEDS report has a vignette that spells out requirements and also has sample data you can examine.
To create files for non-supported reports, see How to produce other key-value uploads
|IPEDS Report||Required Dataframes||Sample Data|
|12 Month Enrollment||students & instructional activity||e1d_student, e1d_instr|
|Completions||students & extra cips||com_students, com_cips|
|Fall Enrollment||students & retention aggregate||ef1_students, ef1_retention|
|Graduation Rates 200||students||gr200_students|
You can call the sample data as desired to explore it
#dataframe of student information for 12 month enrollment head(e1d_student) #> Unitid StudentId IsFullTime IsFirstTime IsTransfer IsDegreeCertSeeking #> 1 999999 100 1 1 0 1 #> 2 999999 101 1 1 0 0 #> 3 999999 102 1 1 0 1 #> 4 999999 103 1 1 0 0 #> 5 999999 104 1 1 0 1 #> 6 999999 105 1 1 0 0 #> StudentLevel RaceEthnicity Sex DistanceEdAll DistanceEdSome GenderDetail #> 1 Undergraduate 1 1 0 1 1 #> 2 Undergraduate 1 2 0 1 2 #> 3 Undergraduate 1 2 0 1 2 #> 4 Undergraduate 1 1 0 1 1 #> 5 Undergraduate 1 1 0 1 1 #> 6 Undergraduate 1 2 0 0 2
Each IPEDS report has a single function which will produce all required sub-parts in a single file for upload.
#full export using sample data produce_e1d_report(df = e1d_student, hrs = e1d_instr, part = "ALL")
A message will be display the location of your file when it has been processed.
Scripts are set to assume that you ARE able to report on “another gender” in this reporting cycle. This applies to Completions, 12 Month Enrollment, Graduation Rates, and Fall Enrollment.
If you are NOT able to collect/report on students of “another gender” this cycle
#able to report undergraduate "another gender" but NOT able to report graduate "another gender" produce_com_report(df = com_students, extracips = com_cips, ggender = FALSE)
Your student-faculty ratio number is collected via pop-up box. Type a whole number when prompted.
The main function auto-detects the IPEDS submission year and adjusts the sections of cip-based enrollment, student age, and student residence state appropriately to be in or out of your report. If you would like to report data in optional years, change the include_optional flag to TRUE.
Navigate to the IPEDS submission portal and log in.
Select the appropriate report (for example: “12 Month Enrollment”), select “key-value pair”, then browse to your .txt file and upload.
Click through the survey screens to review results and verify submission accuracy
Continue your standard process to check edits, enter metadata, lock, and submit the survey.
Update your base data, rerun the package function, and re-upload to
IPEDS. You can upload as many times as you want to any particular
Your keyholder may be able to edit directly in the website, but this method is not recommended since it is not reproducible.
If you verify that your data and dataframe(s) are correct, but IPEDS still shows incorrect aggregation, please contact the package authors by adding a GitHub issue or by emailing. We can provide the quickest help if you share an example with sample data, expected output, and actual output.
Common issues include:
For example, IPEDS wants all previous CIP/Award Level combinations reported on the current upload file. If you have no students in those categories, add any flagged CIP/Award combinations to your extra_cips dataframe, rerun, and reupload to remove this error message
A few functions have built-in data quality checks which will alert you of disallowed values. We are working to add more automated checks.
If you want to examine a single report sub-part in depth, you can create a separate text file with only those values.
#if you only want to look at 12 month enrollment part B produce_e1d_report(e1d_instr, part = "B")
You can also produce a csv version of the part’s text file, for more readable output (still using IPEDS upload-required column names and values)
#text files make my eyes bleed! let's use a csv produce_e1d_report(hrs = e1d_instr, part = "B", format = "readable")
At the end of every IPEDS collection cycle, that year’s package code will be saved into a branch on GitHub. To use an old version, install the package from the branch.
#install, picking an acceptable year range ::install_github(repo = "AlisonLanski/IPEDSuploadables", ref = "reporting_year_2020-2021")remotes
When you have finished running your code, reinstall the current version of the package by removing the “ref” argument.