The SGP package provides classes, functions and data for the calculation of student growth percentiles and percentile growth projections/trajectories using large scale, longitudinal education assessment data. These analyses use a statistical technique called quantile regression to estimate the conditional density associated with each student’s achievement history and then apply those matrices to project future performance trajectories based on the current growth trajectory.
SGP is a software package built for the R software environment. As such, it assumes that users of SGP are familiar with using R. R is available for Windows, OSX and Linux, and it is free to download and use. If you are not familiar with R, it is a good idea to spend some time familiarizing yourself with the program before trying to run any SGP analyses.
Using wide-format data like that in sgpData with SGP is, in general, pretty straight forward. However, there are a few caveats that need to be considered and a few things to keep in mind. Please consult the SGP Data Analysis vignette for more information on using sgpData (and wide-format data in general) for SGP analyses.
In sgpData, the first column, ID, provides a unique student identifier. The next 5 columns, GRADE_2013, GRADE_2014, GRADE_2015, and GRADE_2016 provide the grade level assessment scores for the student in each of those years. If a student does not have 5 years of test data, then the last column, SS_2013, SS_2014, SS_2015, and SS_2016, shows missing values (NA).
The SGP data set sgpData_INSTRUCTOR_NUMBER is an anonymized, teacher-student lookup table that provides insturctor information associated with each students test record. It is important to note that each teacher can (and usually will) have multiple students associated with their test records. This means that the same students could be taught by multiple teachers in a single content area during a given year.
In order to run SGP analyses, the user must first create an SGP object sgpData_LONG and an SGP object studentGrowthPercentiles or studentGrowthProjections. Then, the user must either use the lower level functions to calculate a student growth percentile or a percentile growth trajectory or use higher-level wrapper functions such as abcSGP or updateSGP to perform the analysis for them. The higher-level functions “wrap” the lower level functions, simplifying the source code necessary to conduct these analyses. Using these wrapper functions is often the preferred method for conducting operational SGP analyses. This article discusses both approaches.