##### Wide format data #####
## Example 1
x_wide <- matrix(sample(0:1, 35, TRUE), nrow = 7, ncol = 5)
response_set(x_wide)
## Example 2
ip <- generate_ip(n = 6)
# simulate responses for 10 examinees
resp_matrix <- sim_resp(ip = ip, theta = rnorm(10), prop_missing = .2,
output = "matrix")
# convert it to tibble
resp_wide <- as.data.frame(resp_matrix)
resp_wide$stu_id <- rownames(resp_matrix)
# Create a Response_set object:
resp_set <- response_set(resp_wide, data_format = "wide", ip = ip,
examinee_id_var = "stu_id")
# Retrieve examinee ids:
resp_set$examinee_id
# Fourth examinee:
resp_set[[4]]
# Scores of 6th examinee
resp_set[[6]]$score
##### Long format data #####
x_long <- data.frame(examinee_id = c("stu1", "stu1", "stu1", "stu2", "stu2"),
item_id = c("i1", "i2", "i4", "i1", "i2"),
scr = c(0, 1, 0, 1, 0),
rwscore = c("A", "D", "B", "C", "D"),
resptime = c(33, 55, 22, 66, 31),
# These will be passed to misc
item_type = c("MC", "MC", "MS", "SA", "MC"),
lexile_level = c(1, 4, 3, 2, 1),
word_count = c(123, 442, 552, 342, 666),
ability = c(1.1, 1.1, 1.1, -.2, -.2),
grade = c("7", "7", "7", "11", "11")
)
resp_set <- response_set(x = x_long,
data_format = "long",
examinee_id_var = "examinee_id",
item_id_var = "item_id",
score_var = "scr",
raw_response_var = "rwscore",
response_time_var ="resptime",
misc_var = c("item_type", "lexile_level"),
misc_unique_var = c("ability", "grade")
)
resp_set[[1]] # Response of the first examinee
resp_set$item_type # extract item_type of each examinee
resp_set$grade # extract grade of each examinee
# Also, additional examinee level miscellaneous information can be added:
resp_set$gender <- c("M", "F")
resp_set[[2]]$gender # access second examinee's gender.
resp_set$gender
# Fill missing values with 0.
response_set(x = x_long,
data_format = "long",
examinee_id_var = "examinee_id",
item_id_var = "item_id",
score_var = "scr",
raw_response_var = "rwscore",
response_time_var ="resptime",
misc_var = c("item_type", "lexile_level"),
fill_na_score = 0
)
Run the code above in your browser using DataLab