Expand summary table of patterns and frequencies
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.
expand.table(tabdata, freq = colnames(tabdata)[ncol(tabdata)], sample = FALSE)
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 |
Returns a numeric matrix with all the response patterns.
Phil Chalmers rphilip.chalmers@gmail.com
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
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.