# # Simulate data
set.seed(123)
N <- 500; J <- 10
true_theta <- rnorm(N)
true_b <- seq(-2, 2, length.out=J)
true_a <- runif(J, 0.8, 1.2)
data_mat <- matrix(NA, N, J)
for(i in 1:N) {
p <- 1 / (1 + exp(-true_a * (true_theta[i] - true_b)))
data_mat[i,] <- rbinom(J, 1, p)
}
df <- as.data.frame(data_mat)
names(df) <- paste0("Q", 1:J)
# # Run Function
res <- binary_irt(df, model="2PL", method="EM")
# View Results
head(res$item_params)
head(res$person_params)
print(res$model_fit)
# \donttest{
# --- Example 2: With Package Data ---
data("ela1", package = "tirt")
# Subset the first 30 columns (must use the object name 'data_binary')
df <- ela1[, 1:30]
# Run Function on package data
real_res <- binary_irt(df, model="2PL", method="EM")
head(real_res$item_params)
# }
Run the code above in your browser using DataLab