ims {msd} | R Documentation |
Item Measures
Description
Estimates item measures assuming person measures are known and all persons use the same set of rating category thresholds.
Usage
ims(data, persons, thresholds, misfit = FALSE, minRating = NULL)
Arguments
data |
a numeric matrix of ordinal rating scale data whose entries are integers with missing data set to NA. Rows are persons and columns are items. The ordinal rating scale is assumed to go from the smallest to largest integer in integer steps unless |
persons |
a numeric vector of person measures with missing values set to NA. The length of |
thresholds |
a numeric vector of ordered rating category thresholds with no NA. |
misfit |
logical for calculating infit and outfit statistics. Default is FALSE. |
minRating |
integer representing the smallest ordinal rating category. Default is NULL (see Details). |
Details
minRating
must be specified if either the smallest or largest possible rating category is not in data
(i.e., no person used one of the extreme rating categories). If minRating
is specified, the ordinal rating scale is assumed to go from minRating
to minRating + length(thresholds)
in integer steps.
Value
A list whose elements are:
item_measures |
a vector of person measures for each person |
item_std_errors |
a vector of standard errors for the persons |
infit_items |
if |
outfit_items |
if |
Note
Item measures estimated with ims
differ from those estimated with msd
because ims
assumes all persons use the same rating category thresholds while msd
does not. Intended use of ims
is with an anchored set of persons and thresholds. Item measures that cannot be estimated will return as NA (e.g., if all responses to an item consist of only the highest rating category, or of only the lowest rating category, that item's item measure cannot be estimated).
Author(s)
Chris Bradley (cbradley05@gmail.com)
See Also
Examples
# Simple example with randomly generated values and lowest rating category = 0.
d <- as.numeric(sample(0:4, 500, replace = TRUE))
dm <- matrix(d, nrow = 50, ncol = 10)
pm <- runif(50, -2, 2)
th <- sort(runif(4, -2, 2))
im <- ims(data = dm, persons = pm, thresholds = th, misfit = TRUE, minRating = 0)