Learn R Programming

pairwise (version 0.3.1)

pair: Rasch Item Parameter (Main Function)

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), using a generalization of the pairwise comparison algorithm (Choppin, 1968, 1985; Wright & Masters, 1982). The number of (response) categories may vary accross 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, pot = TRUE, zerocor = TRUE, ccf = FALSE, ...)

Arguments

daten
a data.frame or matrix with optionaly named colums (names of items), potentially with missing values, comprising polytomous or dichotomous (or mixted category numbers) responses of n respondents (rows) on k items (colums) coded starting with 0 for lowest category to m-1 for highest category, with m beeing a vector (with length k) with the number of categories for the respective item.
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 data. For 'sparse' data it is strongly recomended to explicitly define the number of categories by defining this argument.
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
logical, if TRUE (default) unobserved combinations (1-0, 0-1) in data for each pair of items are given a frequency of one conf. proposal by Alexandrowicz (2011, p.373).
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.
...
additional parameters passed through.

Value

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

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.

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

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

Choppin, B. (1968). Item Bank using Samplefree 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.

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.

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