Learn R Programming

eeptools (version 0.3.1)

moves_calc: Function to calculate the number of times a student has changed schools.

Description

This function calculates the number of times a student has changed schools, including accounting for gaps in enrollment data. It returns a data.table with the student ID and the number of student moves.

Usage

moves_calc(df, enrollby, exitby, gap, sid, schid, enroll_date, exit_date)

Arguments

df
a data.frame containing minimally a student identifier, school identifier, enrollment date, and exit date.
enrollby
a date that determines the earliest a student can enroll for the first time without being credited with having moved at least once.
exitby
a date that determines the latest a student can exit for the final time without being credited with having moved at least once.
gap
a number that represents the largest gap between an exit date and the next enrollment date that can occur without indicating the student moved to a third school not contained within the data set. The default value is 14.
sid
a character that indicates the name of the student id attribute in df. The default value is sid.
schid
a character that indicates the name of the school id attribute in df. The default value is schid.
enroll_date
a character that indicates the name of the enrollment date attribute in df. The default value is enroll_date.
exit_date
a character that indicates the name of the student id attribute in df. The default value is exit_date.

Value

  • a data.table

Examples

Run this code
df <- data.frame(sid = c(rep(1,3), rep(2,4), 3, rep(4,2)), 
                 schid = c(1, 2, 2, 2, 3, 1, 1, 1, 3, 1),
                 enroll_date = as.Date(c('2004-08-26',
                                         '2004-10-01',
                                         '2005-05-01',
                                         '2004-09-01',
                                         '2004-11-03',
                                         '2005-01-11',
                                         '2005-04-02',
                                         '2004-09-26',
                                         '2004-09-01',
                                         '2005-02-02'), 
                                      format='                 exit_date = as.Date(c('2004-08-26',
                                       '2005-04-10',
                                       '2005-06-15',
                                       '2004-11-02',
                                       '2005-01-10',
                                       '2005-03-01',
                                       '2005-06-15',
                                       '2005-05-30',
                                       NA,
                                       '2005-06-15'), 
                                     format='moves <- moves_calc(df)
moves
moves <- moves_calc(df, enrollby='2004-10-15', gap=22)
moves
moves <- moves_calc(df, enrollby='2004-10-15', exitby='2005-05-29')
moves

Run the code above in your browser using DataLab