For testing purposes only: The function simulates raw test scores based on a virtual Rasch based test with n results per age group, an evenly distributed age variable, items.n test items with a simulated difficulty and standard deviation. The development trajectories over age group are modeled by a curve linear function of age, with at first fast progression, which slows down over age, and a slightly increasing standard deviation in order to model a scissor effects. The item difficulties can be accessed via thetaandtherawdataviadata of the returned object.
simulateRasch( data =NULL, n =100, minAge =1, maxAge =7, items.n =21, items.m =0, items.sd =1, Theta ="random", width =1)
Arguments
data: data.frame from previous simulations for recomputation (overrides n, minAge, maxAge)
n: The sample size per age group
minAge: The minimum age (default 1)
maxAge: The maximum age (default 7)
items.n: The number of items of the test
items.m: The mean difficulty of the items
items.sd: The standard deviation of the item difficulty
Theta: irt scales difficulty parameters, either "random" for drawing a random sample, "even" for evenly distributed or a set of predefined values, which then overrides the item.n parameters
width: The width of the window size for the continuous age per group; +- 1/2 width around group center on items.m and item.sd; if set to FALSE, the distribution is not drawn randomly but normally nonetheless
Returns
a list containing the simulated data and thetas
data: the data.frame with only age, group and raw
sim: the complete simulated data with item level results
theta: the difficulty of the items
Examples
# simulate data for a rather easy test (m = -1.0)sim <- simulateRasch(n=150, minAge=1, maxAge=7, items.n =30, items.m =-1.0, items.sd =1, Theta ="random", width =1.0)# Show item difficultiesmean(sim$theta)sd(sim$theta)hist(sim$theta)# Plot raw scoresboxplot(raw~group, data=sim$data)# Model datadata <- prepareData(sim$data, age="age")model <- bestModel(data, k =4)printSubset(model)plotSubset(model, type=0)