expand.table {mirt} | R Documentation |
Expand summary table of patterns and frequencies
Description
The expand.table
function expands a summary table of unique response
patterns to a full sized data-set. By default the response frequencies are
assumed to be on rightmost column of the input data, though this can be modified.
Usage
expand.table(tabdata, freq = colnames(tabdata)[ncol(tabdata)], sample = FALSE)
Arguments
tabdata |
An object of class |
freq |
either a character vector specifying the column in |
sample |
logical; randomly switch the rows in the expanded table? This does not change the expanded data, only the row locations |
Value
Returns a numeric matrix with all the response patterns.
Author(s)
Phil Chalmers rphilip.chalmers@gmail.com
References
Chalmers, R., P. (2012). mirt: A Multidimensional Item Response Theory Package for the R Environment. Journal of Statistical Software, 48(6), 1-29. doi:10.18637/jss.v048.i06
Examples
data(LSAT7)
head(LSAT7) # frequency in right-most column
LSAT7full <- expand.table(LSAT7)
head(LSAT7full)
dim(LSAT7full)
# randomly switch rows in the expanded response table
LSAT7samp <- expand.table(LSAT7, sample = TRUE)
head(LSAT7samp)
colMeans(LSAT7full)
colMeans(LSAT7samp) #equal
#--------
## Not run:
# Generate data from separate response pattern matrix and freq vector
# The following uses Table 2.1 from de Ayala (2009)
f <- c(691,2280,242,235,158,184,1685,1053,134,462,92,65,571,79,87,41,1682,702,
370,63,626,412,166,52,28,15,2095,1219,500,187,40,3385)
pat <- matrix(c(
0, 0, 0, 0, 0,
1, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 0,
0, 0, 0, 0, 1,
1, 1, 0, 0, 0,
1, 0, 1, 0, 0,
0, 1, 1, 0, 0,
1, 0, 0, 1, 0,
0, 1, 0, 1, 0,
0, 0, 1, 1, 0,
1, 0, 0, 0, 1,
0, 1, 0, 0, 1,
0, 0, 1, 0, 1,
0, 0, 0, 1, 1,
1, 1, 1, 0, 0,
1, 1, 0, 1, 0,
1, 0, 1, 1, 0,
0, 1, 1, 1, 0,
1, 1, 0, 0, 1,
1, 0, 1, 0, 1,
1, 0, 0, 1, 1,
0, 1, 1, 0, 1,
0, 1, 0, 1, 1,
0, 0, 1, 1, 1,
1, 1, 1, 1, 0,
1, 1, 1, 0, 1,
1, 1, 0, 1, 1,
1, 0, 1, 1, 1,
0, 1, 1, 1, 1,
1, 1, 1, 1, 1), ncol=5, byrow=TRUE)
colnames(pat) <- paste0('Item.', 1:5)
head(pat)
table2.1 <- expand.table(pat, freq = f)
dim(table2.1)
## End(Not run)