# Introduction

SGP analyses can be conducted in many ways with several variations. In general, one can always conduct the analyses using the lower level functions studentGrowthPercentiles and studentGrowthProjections. However, it is often easier to use higher level functions (wrapper functions) for the lower level functions, particularly for operational analyses. Both approaches to running SGP analyses are discussed below.

# SGP analysis using higher level functions

## SGP Analysis in 1 Step

Because these steps are almost always conducted simultaneously in operational SGP analyses, the SGP Package has wrapper functions abcSGP and updateSGP that “wrap” the above 6 steps into a single function call, simplifying the source code associated with the analysis.

#####################################################################################
###
### R Script for Demonstration SGP analyses
###
#####################################################################################

### Load SGP & SGPdata packages

require(SGP)
require(SGPdata)

### abcSGP

Demonstration_SGP <- abcSGP(
sgp_object=sgpData_LONG,
data_supplementary=list(INSTRUCTOR_NUMBER=sgpData_INSTRUCTOR_NUMBER),
parallel.config=list(BACKEND="PARALLEL", WORKERS=list(PERCENTILES=4, BASELINE_PERCENTILES=4, PROJECTIONS=4, LAGGED_PROJECTIONS=4, SGP_SCALE_SCORE_TARGETS=4, SUMMARY=4, GA_PLOTS=4, SG_PLOTS=1)))

### Save results

save(Demonstration_SGP, file="Data/Demonstration_SGP.Rdata")

Running this script will run the six steps mentioned earlier by performing the following:

1. prepareSGP Take exemplar LONG data, sgpData_LONG, and INSTRUCTOR-STUDENT lookup files, sgpData_INSTRUCTOR_NUMBER and create the SGP object Demonstration_SGP that includes them.
2. analyzeSGP Performs SGP analyses for all years and content areas including: student growth percentiles, baseline student growth percentiles, student growth projections, baseline student growth projections, lagged student growth projections, lagged baseline student growth projections.
3. combineSGP Merges results derived from analyzeSGP back into the master longitudinal record, [email protected], and calculates/creates scale scores associated with SGP targets.
4. summarizeSGP Calculates summary tables and puts them results into the [email protected] slot.
5. visualizeSGP Creates state level summary bubble plots, growth achievement plots (wave charts), and demonstration student growth plots.
6. outputSGP Exports data in multiple formats:
• Demonstration_SGP_Data_LONG.txt.zip a pipe delimited copy of [email protected], the complete master longitudinal record.
• Demonstration_SGP_Data_LONG_2017.txt.zip a pipe delimited copy of the 2017 longitudinal record subsetted from [email protected].
• Demonstration_SGPData_WIDE.txt.zip a pipe delimited WIDE version of the master longitudinal record, [email protected].
• Demonstration_SGP_INSTRUCTOR_Data.txt.zip a pipe delimited LONG version of the INSTRUCTOR_NUMBER file merged with the master longitudinal data record.

The parallel.config argument is used to take advantage of computing resources with multiple processors/cores. In general, parallel computation works better on Linux/OSX than on Windows, though the package is tested on all three operating systems. Removing the parallel.config argument will result in the analyses being run sequentially — same results, just takes longer.

# Contributions & Requests

If you have a contribution or topic request for this vignette, don’t hesitate to write or set up an issue on GitHub.