tmatta / lsasim

Simulate large scale assessment data
6 stars 5 forks source link

warning messages from function *response_gen* when n_form <- 1 #1

Closed ylinglw closed 7 years ago

ylinglw commented 7 years ago

R script: Test_2.R

There were wearning messages when generating item responses when number of format equals to 1 (n_forms <- 1). The datasets were still be able to generated though.

=== Parameters ===============================================================

n_subj <- 100 # number of students n_forms <- 1 # number of test forms form_len <- 10 # number of items per form n_items <- n_forms * form_len # number of total items

=== Cognitive data ===========================================================

--- Generate theta

theta <- rnorm(n_subj, 0, 1)

--- Generate test assembly

test2 <- test_assembly(n_subj = n_subj, n_forms = n_forms, form_length = form_len) iteration 1 difference in booklet distribution 0

--- Rasch --------------------------------------------------------------------

--- Generate item parameters

gen1PL <- item_gen(n_items = n_items, b_bounds = c(-2, 2))

--- Generate item responses

dat1PL <- response_gen(subject = test2$item_assign$subject, item = test2$item_assign$item, theta = theta, b_par = gen1PL$b_par)

Warning messages: 1: In reshapeWide(data, idvar = idvar, timevar = timevar, varying = varying, : multiple rows match for item=1: first taken 2: In reshapeWide(data, idvar = idvar, timevar = timevar, varying = varying, : multiple rows match for item=2: first taken 3: In reshapeWide(data, idvar = idvar, timevar = timevar, varying = varying, : multiple rows match for item=3: first taken 4: In reshapeWide(data, idvar = idvar, timevar = timevar, varying = varying, : multiple rows match for item=4: first taken 5: In reshapeWide(data, idvar = idvar, timevar = timevar, varying = varying, : multiple rows match for item=5: first taken 6: In reshapeWide(data, idvar = idvar, timevar = timevar, varying = varying, : multiple rows match for item=6: first taken 7: In reshapeWide(data, idvar = idvar, timevar = timevar, varying = varying, : multiple rows match for item=7: first taken 8: In reshapeWide(data, idvar = idvar, timevar = timevar, varying = varying, : multiple rows match for item=8: first taken 9: In reshapeWide(data, idvar = idvar, timevar = timevar, varying = varying, : multiple rows match for item=9: first taken 10: In reshapeWide(data, idvar = idvar, timevar = timevar, varying = varying, : multiple rows match for item=10: first taken

tmatta commented 7 years ago

I updated the book_gen function (used inside test_assembly) so when is.null(book_design) is TRUE, the function requires more than 2 form. If a user wants to specify 1 or 2 forms, they can do so through the book_design argument (see Test 3.2 in test_3.R)