# Random generation of item response patterns under dichotomous and polytomous IRT models

### Description

This command generates item responses patterns for a given matrix of item parameters of any specified dichotomous or polytomous IRT model and a given (set of) ability value(s).

### Usage

1 2 | ```
genPattern(th, it, model = NULL, D = 1, seed = NULL)
``` |

### Arguments

`th` |
numeric: a vector of true underlynig ability values (can be a singlre value too). |

`it` |
numeric: a suitable matrix of item parameters. See |

`model` |
either |

`D` |
numeric: the metric constant. Default is |

`seed` |
either the random seed value or |

### Details

This function permits to randomly generate item responses for a set of given ability levels, specified by the argument `thr`

, and for a given matrix of item parameters, specified by the argument `it`

. Both dichotomous and polytomous IRT models can be considered and item responses are generated accordingly.

For dichotomous models, item responses are generated from Bernoulli draws, using the `rbinom`

function. For polytomous models they are generated from darws from a multinomial distribution, using the `rmultinom`

function. In both cases, success probabilities are obtained from the `Pi`

function.

Note that for polytomous models, item responses are coded as 0 (for the first response category), 1 (for the second category), ..., until *g_j* (for the last category), in agreement with the notations used in the help files of, e.g., the `genPolyMatrix`

function.

Dichotomous IRT models are considered whenever `model`

is set to `NULL`

(default value). In this case, `it`

must be a matrix with one row per item and four columns, with the values of the discrimination, the difficulty, the pseudo-guessing and the inattention parameters (in this order). These are the parameters of the four-parameter logistic (4PL) model
(Barton and Lord, 1981).

Polytomous IRT models are specified by their respective acronym: `"GRM"`

for Graded Response Model, `"MGRM"`

for Modified Graded Response Model, `"PCM"`

for Partical Credit Model, `"GPCM"`

for Generalized Partial Credit Model, `"RSM"`

for Rating Scale Model and `"NRM"`

for Nominal Response Model. The `it`

still holds one row per item, end the number of columns and their content depends on the model. See `genPolyMatrix`

for further information and illustrative examples of suitable polytomous item banks.

The random pattern generation can be fixed by setting `seed`

to some numeric value. By default, `seed`

is `NULL`

and the random seed is not fixed.

### Value

If `th`

holds a single value, output is a vector with the item responses in the order of appearance of the items in the `it`

matrix. If `th`

is a vector of numeric values, output is a response matrix with one row per `th`

value and one column per item.

### Author(s)

David Magis

Department of Education, University of Liege, Belgium

david.magis@ulg.ac.be

### References

Barton, M.A., and Lord, F.M. (1981). *An upper asymptote for the three-parameter logistic item-response model*. Research Bulletin 81-20. Princeton, NJ: Educational Testing Service.

Haley, D.C. (1952). *Estimation of the dosage mortality relationship when the dose is subject to error*. Technical report no 15. Palo Alto, CA: Applied Mathematics and Statistics Laboratory, Stanford University.

Magis, D., and Raiche, G. (2012). Random Generation of Response Patterns under Computerized Adaptive Testing with the R
Package *catR*. *Journal of Statistical Software*, *48 (8)*, 1-31. URL http://www.jstatsoft.org/v48/i08/

### See Also

`rbinom`

and `rmultinom`

for random draws; `genPolyMatrix`

, `Pi`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | ```
## Dichotomous models ##
# Loading the 'tcals' parameters
data(tcals)
# Selecting item parameters only
tcals <- as.matrix(tcals[,1:4])
# Generation of a response pattern for ability level 0
genPattern(th = 0, tcals)
# Generation of 10 response patterns for ability levels randomly drawn from N(0,1)
genPattern(th = rnorm(10), tcals)
# Generation of a single response for the first item only
genPattern(th = 0, tcals[1,])
## Polytomous models ##
# Generation of an item bank under GRM with 100 items and at most 4 categories
m.GRM <- genPolyMatrix(100, 4, "GRM")
m.GRM <- as.matrix(m.GRM)
# Generation of a response pattern for ability level 0
genPattern(0, m.GRM, model = "GRM")
# Generation of 10 response patterns for ability levels randomly drawn from N(0,1)
genPattern(rnorm(10), m.GRM, model = "GRM")
# Generation of a single response for the first item only
genPattern(0, m.GRM[1,], model = "GRM")
# Generation of a item bank under PCM with 20 items and at most 3 categories
m.PCM <- genPolyMatrix(20, 3, "PCM")
m.PCM <- as.matrix(m.PCM)
# Generation of a response pattern for ability level 0
genPattern(0, m.PCM, model = "PCM")
# Generation of a single response for the first item only
genPattern(0, m.PCM[1,], model = "PCM")
``` |

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.