simdata {msd} | R Documentation |
Simulated Rating Scale Data
Description
Generates simulated rating scale data given item measures, person measures and rating category thresholds.
Usage
simdata(items, persons, thresholds, missingProb = 0, minRating = 0)
Arguments
items |
a numeric vector of item measures with no NA. |
persons |
a numeric vector of person measures with no NA. |
thresholds |
a numeric vector of ordered rating category thresholds with no NA. |
missingProb |
a number between 0 and 1 specifying the probability of missing data. |
minRating |
integer representing the smallest ordinal rating category. Default is 0 (see Details). |
Details
It is assumed that the set of ordinal rating categories consists of all integers from the lowest rating category specified by minRating
to the highest rating category,
which is minRating + length(thresholds)
.
Value
A numeric matrix of simulated rating scale data.
Note
simdata
can be used to test the accuracy of msd
(see Examples).
Author(s)
Chris Bradley (cbradley05@gmail.com)
See Also
Examples
# Use simdata to test the accuracy of msd. First, randomly generate item
# measures, person measures and thresholds with 15 percent missing data and
# ordinal rating categories from 0 to 5. Then, set mean item measure to zero
# (axis origin in msd is the mean item measure) and mean threshold to zero
# (any non-zero mean threshold is reflected in the person measures).
im <- runif(100, -2, 2)
pm <- runif(100, -2, 2)
th <- sort(runif(5, -2, 2))
im <- im - mean(im)
th <- th - mean(th)
d <- simdata(im, pm, th, missingProb = 0.15, minRating = 0)
m <- msd(d)
# Compare msd parameters to true values. Linear regression should
# yield a slope very close to 1 and an intercept very close to 0.
lm(m$item_measures ~ im)
lm(m$person_measures ~ pm)
lm(m$thresholds ~ th)