Description Usage Arguments Details Value See Also Examples
View source: R/ZPDGrowthTrajectories_function.r
ZPDGrowthTrajectories
creates synthetic academic achievement growth trajectories.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ZPDGrowthTrajectories(
learn.rate,
home.env,
decay.rate,
initial.ach,
ZPD.width,
ZPD.offset,
home.learning.decay.rate,
curriculum.start.points,
curriculum.widths,
curriculum.review.slopes,
curriculum.advanced.slopes,
assignment,
dosage,
adaptive.curriculum = FALSE,
which.curriculum = NULL,
school.weight,
home.weight,
decay.weight,
integration.points = 250,
threshold = 1e-05,
verbose = TRUE
)
|
learn.rate |
Vector of learning rates, one per child. These values specify the global learning rate
for each student. Values should be positive. The lengths of |
home.env |
Vector of home environments, one per child. These values describe how conducive each student's home environment is for learning. Values should be positive. |
decay.rate |
Vector of decay rates, one per child. These values describe each student's rate of learning loss or decay. Values should be positive. |
initial.ach |
Vector of values describing the initial achievement level for each child. They should be zero or higher. |
ZPD.width |
Scalar value describing the radius of the ZPD. Affects the global growth rate. The function
|
ZPD.offset |
Scalar, measured on the same scale as achievement, describing where the ZPD peaks
relative to the current achievement. A positive value means that the ZPD peaks at a higher achievement level that the
student has currently attained. The function |
home.learning.decay.rate |
Scalar, the exponential decay parameter for the home learning function. Larger values indicate
more rapid drop-off. Must be greater than 1. The functions |
curriculum.start.points |
a matrix or list of matrices providing the start points of the school curriculum to
be offered during each grade (or other time division). The matrices should have one column and one row per grade. Each
list entry corresponds to a version of the curriculum, such as 'typical' or 'remedial.' The functions
|
curriculum.widths |
a matrix or list of matrices providing the widths or spans of the school curriculum to
be offered during each grade (or other time division). The matrices should have one column and one row per grade. Each
list entry corresponds to a version of the curriculum, such as 'typical' or 'remedial.' The functions
|
curriculum.review.slopes |
A matrix or list of matrices describing the steepness of the school curriculum cutoff
at the lower range. Conceptually controls the amount of review content. Small numbers indicate a shallower slope and
therefore more review content. As general guidance, values in the range of 10-20 describe heavy review, while 50-100
decribes little review, though this depends on the scale of the curriculum. The functions |
curriculum.advanced.slopes |
a matrix or list of matrices describing the steepness of the school curriculum
cutoff at the upper range. Conceptually controls the amount of advanced content. Small numbers indicate a shallower slope and
therefore more advanced content. As general guidance, values in the range of 10-20 describe heavy review, while 50-100
decribes little review, though this depends on the scale of the curriculum. The functions |
assignment |
A vector of integer values assigning school curricula to time intervals. The length is the number of
time intervals to simulate. Each entry contains a number representing which grade-level curriculum to present. Zero
denotes periods of no school instruction, such as summer breaks. The numbers correspond to the row index of the
|
dosage |
Scalar dose parameter, controls mixing of school curriculum and home curriculum during school years, where 1 denotes all school and 0 denotes all home. Must be [0,1]. |
adaptive.curriculum |
Logical; if there are multiple versions of the school curriculum for each time period,
should they be assigned adaptively? TRUE means that the version that would produce the optimal achievement in
each time period is presented. FALSE means that the curriculum assignment is based on |
which.curriculum |
Vector of integer values, one for each student, indicating which version of the curriculum is presented
to each student. The values correspond to the list index for the |
school.weight |
A scalar for adjusting the overall growth from school exposure; prevents having to adjust
all |
home.weight |
A scalar for adjusting the overall growth from home; prevents having to adjust all |
decay.weight |
A scalar for adjusting the overall rate of decay or forgetting; prevents having to adjust all
|
integration.points |
Integer number of integration points. Controls tradeoff between accuracy and execution speed. Defaults to 250. |
threshold |
A scalar value Used for determining the maximum achievement to be populated in the lookup tables, specified as a growth rate. The max achievement to be populated is the value at which the growth rate calls below the this number. Defaults to .00001. |
verbose |
logical, should status updates be printed to the console? Defaults to TRUE. |
This function creates synthetic achievement growth trajectories from a quantitative intepretation of Vygotsky theory based on an upcoming publication. The user describes the student characteristics (learning rate, decay rate, initial achievement, and home environment) as well as the home learning environment and the school curriculum. The function will then create a simulated growth trajectory for each student.
An object of class ZPD, data.frame
visualizeContext
, visualizeZPD
, visualizeHome
, and
visualizeSchool
for plotting the ZPD, home, and school learning context.
visualizeTrajectories
for plotting the trajectories
describeTrajectories
for calculating summary statistics
rescaleTrajectories
for linear rescaling of the trajectories
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | # learning rate
learn.rate <- c(.08, .10, .12, .18)
# decay rate
decay.rate <- c(.04, .03, .02, .01)
# initial achievement
initial.ach <- rep(0, times=4)
# quality of home environment
home.env <- c(.06, .12, .15, .20)
# assignment object simulating starting kindergarten on time 801
# Kindergarten for 200 days, followed by 100 days of summer
# then 200 days of first grade
assignment <- c(rep(0, times=800), rep(1, times=200),
rep(0, times=100), rep(2, times=200))
# define school curriculum
curriculum.start.points <- list(
# "typical curriculum" start points for K and first grade
matrix(c(.2, .26), nrow=2, ncol=1),
# "advanced curriculum" start points for K and first grade
matrix(c(.22, .29), nrow=2, ncol=1)
)
curriculum.widths <- list(
# "typical curriculum" widths for K and first grade
matrix(c(.04, .04), nrow=2, ncol=1),
# "advanced curriculum" widths for K and first grade
matrix(c(.05, .05), nrow=2, ncol=1)
)
curriculum.review.slopes <- list(
# "typical curriculum" review slopes for K and first grade
matrix(c(30, 30), nrow=2, ncol=1),
# "advanced curriculum" review slopes for K and first grade
matrix(c(60, 60), nrow=2, ncol=1)
)
curriculum.advanced.slopes <- list(
# "typical curriculum" advanced slopes for K and first grade
matrix(c(50, 50), nrow=2, ncol=1),
# "advanced curriculum" advanced slopes for K and first grade
matrix(c(25, 25), nrow=2, ncol=1)
)
# students 1 and 2 get typical curriculum, 3 and 4 get advanced
which.curriculum <- c(1,1,2,2)
y <- ZPDGrowthTrajectories(learn.rate=learn.rate, home.env=home.env,
decay.rate=decay.rate, initial.ach=initial.ach,
ZPD.width=.05, ZPD.offset=.02,
home.learning.decay.rate=6,
curriculum.start.points=curriculum.start.points,
curriculum.widths=curriculum.widths,
curriculum.review.slopes=curriculum.review.slopes,
curriculum.advanced.slopes=curriculum.advanced.slopes,
assignment=assignment, dosage=.8,
adaptive.curriculum=FALSE,
which.curriculum=which.curriculum,
school.weight=.5, home.weight=1, decay.weight=.05,
verbose=TRUE)
head(y)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.