Learn R Programming

pairwise (version 0.6.1-0)

pair: Item Parameter Calculation

Description

This is the (new) main function for calculation of the item parameter for the dichotomous Rasch Model (Rasch, 1960) and its extension for polytomous items (thurstonian thresholds) according to the Partial Credit Model (Masters, 1982).

The function implements a generalization (see Heine & Tarnai, 2015) of the pairwise comparison approach, that is based on the principle for item calibration introduced by Choppin (1968, 1985) -- see also (Wright & Masters, 1982). The number of (response) categories may vary across items.

Missing values up to an high amount in data are allowed, as long as items are proper linked together.

Usage

pair(
  daten,
  m = NULL,
  w = NULL,
  pot = TRUE,
  zerocor = TRUE,
  ccf = FALSE,
  likelihood = NULL,
  pot2 = 2,
  delta = TRUE,
  conv = 1e-04,
  maxiter = 3000,
  progress = TRUE,
  init = NULL,
  zerosum = TRUE,
  ...
)

Value

A (list) object of class "pair" containing the item category thresholds and difficulties sigma, also called item location.

Arguments

daten

a single data.frame or matrix or a list with every list entry holding a data.frame or matrix. Row and column names may represent the names of items (columns) and persons (rows). Missing values (NA) are allowed. Item responses can be polytomous or dichotomous (or a mixture of a varying number of categories across all items). Responses of n respondents (rows) on k items (colums) must be coded (scored) starting with 0 for lowest category to m-1 for highest category. If a list is assigned to this argument each data.frame or matrix as respective list entry must have the same dimensionality. See details and examples.

m

an integer (will be recycled to a vector of length k) or a vector giving the number of response categories for all items - by default (m = NULL), m is calculated from data, assuming that every response category is at least once present in the data. For 'sparse' data it is strongly recomended to explicitly define the number of categories by defining this argument.

w

an optional vector of case weights.

pot

either a logical or an integer >= 2 defining the power to compute of the pairwise comparison matrix. If TRUE (default) a power of three of the pairwise comparison matrix is used for further calculations. If FALSE no powers are computed.

zerocor

either a logical or an numeric value between >0 and <=1. If (in case of a logical) zerocor is set to TRUE (default) unobserved combinations (1-0, 0-1) in the data for each pair of items are given a frequency of one conf. proposal by Alexandrowicz (2011, p.373). As an alternative option a numeric value between >0 and <=1 can be assigned to unobserved combinations (1-0, 0-1) in the data for each pair of items (conf. to personal communication with A. Robitzsch; 29-03-2021).

ccf

logical with default ccf=FALSE to perform normal item parameter calculation, if set to ccf=TRUE just the conditional item (category) frequencies are returned.

likelihood

either NULL (default) or a a character expression defining a likelihood estimation approach based on the pairwise comparison matrix. Currently only the so called MINCHI approach as described in Fischer (2006) is implemented , which can be selected by setting likelihood="minchi".

pot2

ignored when likelihood=NULL (default).

delta

ignored when likelihood=NULL (default).

conv

ignored when likelihood=NULL (default).

maxiter

ignored when likelihood=NULL (default).

progress

ignored when likelihood=NULL (default).

init

ignored when likelihood=NULL (default).

zerosum

ignored when likelihood=NULL (default).

...

additional parameters passed through.

Details

Parameter calculation is based on the construction of a paired comparison matrix Mnicjc with entries ficjc representing the number of respondents who answered to item i in category c and to item j in category c-1 widening Choppin's (1968, 1985) conditional pairwise algorithm to polytomous item response formats. This algorithm is simply realized by matrix multiplication.

To avoid numerical problems with off diagonal zero's when constructing the pairwise comparison matrix Mnij, powers of the Mnicjc matrix, can be used (Choppin, 1968, 1985). Using powers k of Mnicjc - argument pot=TRUE (default), replaces the results of the direct comparisons between i and j with the sum of the indirect comparisons of i and j through an intermediate k. In general, it is recommended to use the argument with default value pot=TRUE.

If a list object is assigned to the argument data, the list entries (matrix or data.frame) must all have the same dimensionality. The individual list entries represent either r measurement times or raters. If such a list object is used, first the item parameters are calculated across all r measurement points or raters and additionally a threshold parameter is given for each of the r measurement points or raters (e.g. rater severity or overal item shift).

For a graphic representation of the item 'estimates' the plotting S3 method plot.pair is available. For plotting the item category probabilities the function catprob can be used.

References

Choppin, B. (1968). Item Bank using Sample-free Calibration. Nature, 219(5156), 870-872.

Choppin, B. (1985). A fully conditional estimation procedure for Rasch model parameters. Evaluation in Education, 9(1), 29-42.

Heine, J. H. & Tarnai, Ch. (2015). Pairwise Rasch model item parameter recovery under sparse data conditions. Psychological Test and Assessment Modeling, 57(1), 3–36.

Alexandrowicz, R. W. (2011). 'GANZ RASCH': A Free Software for Categorical Data Analysis. Social Science Computer Review, 30(3), 369-379.

Masters, G. (1982). A Rasch model for partial credit scoring. Psychometrika, 47(2), 149–174.

Rasch, G. (1960). Probabilistic models for some intelligence and attainment tests. Copenhagen: Danmarks pædagogiske Institut.

Wright, B. D., & Masters, G. N. (1982). Rating Scale Analysis. Chicago: MESA Press.

Fischer, Gerhard H. 2006. "Rasch Models". Pp. 515–85 in Handbook of statistics (26): Psychometrics. Vol. 26, edited by C. R. Rao and S. Sinharay. Amsterdam: Elsevier.

Examples

Run this code
data(bfiN) # loading example data set
# calculating itemparameters for 5 neuroticism items with 6 answer categories (0-5).
neuro_itempar<-pair(daten = bfiN, m = 6) 
summary(neuro_itempar) 
summary(neuro_itempar, sortdif=TRUE) # ordered by difficulty 
# plotting threshold profiles for 5 neuroticism items.
plot(neuro_itempar) 
plot(neuro_itempar, sortdif=TRUE) # plotting ordered by difficulty 
################ with unequal number of categories 
data(sim200x3)
res<-pair(sim200x3)
summary(res)
plot(res)

Run the code above in your browser using DataLab