Learn R Programming

pairwise (version 0.1.5)

ipSE.dicho: Item Parameter calaculation with Standard Errors for dichotomous 1PL Model

Description

Calculation of the item parameter (Sigma) and their standard error (SE) for dichotomous items according the 1PL Rasch Model using a pairwise comparison algorithm (Choppin, 1968, 1985). Missing values up to an high amount in data matrix are allowed, as long as items are proper linked together.

Usage

ipSE.dicho(daten, sortdif = TRUE, nsample = 30,
    size = 0.5, seed = "no", pot = TRUE, zerocor = TRUE,
    ...)

Arguments

daten
The response data as a data.frame or a matrix, potentially with missing values, comprising dichotomous responses of respondents (rows) on some items (colums) coded in the 0 1 manner.
sortdif
logical, if TRUE (default) items are sorted in an ascending order by difficulty for output.
nsample
numeric specifying the number of subsamples sampled from data, which is the number of replications of the parameter calculation.

WARNING! specifying high values for nsample ( > 100 ) may result in long computing time without leadig t

size
numeric with valid range between 0 and 1 (but not exactly 0 or 1) specifying the size of the subsample of data when bootstraping for SE estimation. As an alternative, size can be set to the character "jack" (
seed
numeric used for set.seed(seed).
pot
logical, if TRUE (default) a power of three of the pairwise comparison matrix is used for further calculations.
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).
...
additional parameters passed through.

Value

  • An object of class ipSE containing the item difficulty parameter Sigma and standard errors for item difficulties Sigma.

A Note on Standard Errors

Estimation of standard errors is done by repeated calculation of item parameters for subsamples of the given data. This procedure is mainly controlled by the arguments nsample and size (see arguments). With regard to calculation time, the argument nsample is the 'time killer'. On the other hand, things (estimation of standard errors) will not necessarily get better when choosing large values for nsample. For example choosing nsample=400 will only result in minimal change for standard error estimation in comparison to (nsample=30) which is the default setting (see examples).

Details

Item Parameter calculation is based on the construction of a paired comparison matrix Mnij with entries fij representing the number of respondents who got item i right and item j wrong according to Choppin's (1968, 1985) conditional pairwise algorithm. 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 Mnij matrix, can be used (Choppin, 1968, 1985). Using powers k of Mnij 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.

References

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.

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

Examples

Run this code
data(cog) # loading example data set

# calculating itemparameters and their SE for 31 math items
se_sigma<-ipSE.dicho(daten=cog[,4:34], pot=TRUE)

summary(se_sigma) # summary for result

# plotting item difficulties with a CI = 95\%
plot(se_sigma)

# use different color for CI
plot(se_sigma, col.error="green")

# without CI bars
plot(se_sigma,ci=0)

###### example from details section 'Some Notes on Standard Errors' ########
# se_sigma_400<-ipSE.dicho(daten=cog[,4:34], pot=TRUE,nsample=400)
# plot(se_sigma)
# plot(se_sigma_400)

Run the code above in your browser using DataLab