exam1 | R Documentation |
Exam results of 35 students on 18 questions.
data(exam1)
A data frame with 35 observations on the following 18 variables.
binary response
binary response
binary response
For each question, a 1 means correct, a 0 means incorrect.
A simple Rasch model may be fitted to this dataframe using
rcim
and binomialff
.
Taken from William Revelle's Short Guide to R,
http://www.unt.edu/rss/rasch_models.htm
,
http://www.personality-project.org/r/.
Downloaded in October 2013.
summary(exam1) # The names of the students are the row names
# Fit a simple Rasch model.
# First, remove all questions and people who were totally correct or wrong
exam1.1 <- exam1 [, colMeans(exam1 ) > 0]
exam1.1 <- exam1.1[, colMeans(exam1.1) < 1]
exam1.1 <- exam1.1[rowMeans(exam1.1) > 0, ]
exam1.1 <- exam1.1[rowMeans(exam1.1) < 1, ]
Y.matrix <- rdata <- exam1.1
## Not run: # The following needs: library(VGAM)
rfit <- rcim(Y.matrix, family = binomialff(multiple.responses = TRUE),
trace = TRUE)
coef(rfit) # Row and column effects
constraints(rfit, matrix = TRUE) # Constraint matrices side-by-side
dim(model.matrix(rfit, type = "vlm")) # 'Big' VLM matrix
## End(Not run)
## Not run: # This plot shows the (main) row and column effects
par(mfrow = c(1, 2), las = 1, mar = c(4.5, 4.4, 2, 0.9) + 0.1)
saved <- plot(rfit, rcol = "blue", ccol = "orange",
cylab = "Item effects", rylab = "Person effects",
rxlab = "", cxlab = "")
names(saved@post) # Some useful output put here
cbind(saved@post$row.effects)
cbind(saved@post$raw.row.effects)
round(cbind(-saved@post$col.effects), dig = 3)
round(cbind(-saved@post$raw.col.effects), dig = 3)
round(matrix(-saved@post$raw.col.effects, ncol = 1, # Rename for humans
dimnames = list(colnames(Y.matrix), NULL)), dig = 3)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.