Utility function/exemplar used to embed supplied long data into a list object as a keyed data.table. NOTE: This function also serves the purposes of running many checks on the SGP object you construct to make sure it is up to date and in the best shape possible. If you have an older object that you wish to make sure is up to date with the latest version of the SGP package, running prepareSGP on an object is never bad thing to do. See examples for more information.




A panel data set in long form or an object of class SGP. See embedded sgpData_LONG data set for an exemplar.


Supplementary data (e.g., student teacher lookup tables) to be embedded in SGP object in slot @Data_Supplementary. Data must be embedded in a list. Default is no data supplied.


A two letter acronym indicating the state associated with the data. If not supplied, the function will try to infer what the state is from the data object name supplied.


A list or a data.frame that includes all required columns that do not match the SGP conventions, as well as all secondary columns needed for summarizing and reporting.


Boolean argument indicating whether prepareSGP should create additional variables often used in analyses. For example, the function can create a variable HIGH_NEED_STATUS identifying the top and bottom quartile of students in each school by year by content area by grade grouping.


Argument to control how prepareSGP deals with duplicate records based upon the key of VALID_CASE, CONTENT_AREA, YEAR, and ID. The function currently warns of duplicate records and doesn't modify data. If set to TRUE, prepareSGP tries to fix the duplicate individual records by adding a '_DUP_***' suffix to the duplicate ID in order to create unique records based upon the key.


Function returns an object of class SGP. The long data is in the data slot.

See also



not_run({ ## prepareSGP is Step 1 of 5 of abcSGP Demonstration_SGP <- prepareSGP(sgpData_LONG) ## Running prepareSGP on an already create SGP object as part of a annual update Demonstration_SGP <- prepareSGP(Demonstration_SGP) ## Running prepareSGP on a long data set without creating addition variables Demonstration_SGP <- prepareSGP(sgpData_LONG, create.additional.variables=FALSE) })