Learn R Programming

eeptools (version 0.9.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 = 14, sid = "sid", schid = "schid", enroll_date = "enroll_date", exit_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, of days, 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.frame

Details

enrollby and exitby are specified automatically if not defined. They are assigned to the default dates of -09-15 and -06-01 of the min and max year respectively.

Examples

Run this code
## Not run: 
# 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='%Y-%m-%d'),
#                  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='%Y-%m-%d'))
# 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
# ## End(Not run)

Run the code above in your browser using DataLab