pers: WLE - Rasch Person Parameter

View source: R/pers.R

persR Documentation

WLE - Rasch Person Parameter

Description

This is the (new) main function for calculation of person estimates based on answering dichotomous or polytomous items according theRasch Model (Rasch, 1960) and Partial Credit Model (Masters, 1982), given the item parameters (object of class "pair" - as a result of pair()) and and the datamatrix (argument daten) containing the person respose vectors (rows), using an WL approach, introduced by Warm (1989).

Usage

pers(
  itempar,
  daten = NULL,
  incidenz = NULL,
  na_treat = NULL,
  limit = 1e-05,
  iter = 50,
  Nrel = FALSE,
  tecout = FALSE
)

Arguments

itempar

The item parameter prior calculated or estimated. A list object of class "pair" as a result of applying the function pair() to the data. Or an 'ordinary' "matrix" with nrow = k (number of items) and ncol = m (maximum number of thresholds), holding the 'thurstonian' thresholds of the respective item. Some matrix entries may be NA, depending on the number of categories of the respective item.

daten

A "matrix" (or "data.frame") optionaly with named colums (names of items) and named rows (person IDs). This argument can be left empty when the argument itempar (above) is of class "pair". daten holds 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. Responses in daten must be stored as "integers" (not "factors" !) and may have missing values.

incidenz

This argument is only relevant when items are assigned to different booklets. For such a booklet-design a "matrix" should be assigned to this argument, with the same dimensions like daten, containig 0 and 1 integer codes, giving the information (for every person) if the respective item was in the respective booklet (coded 1) given to the person or not (coded 0).

na_treat

optionaly an integer (vector) defining the type of treatment to missing responses in the argument daten. If set to na_treat=NULL (default) missing responses are treated as missings and the respective person is assigned to an corresponding missing group for estimation. An option is to set na_treat to any integer value between 0 (lowest category) and the numeric code for the maximum ctaegory of the respective item.

limit

numeric giving the limit at which accuracy the WL-algorithm stops.

iter

numeric giving the maximum numer of iteration to perform.

Nrel

logical with default set to Nrel=FALSE to include persons with perfect response vectors for calculating WLE reliability. If set to Nrel=TRUE persons with perfect response vectors are excluded for calculating WLE reliability.

tecout

logical default set to FALSE. If set to TRUE the result will be a (very) long list with estimation details for every case in daten. In case of a booklet-design the list entries will be divided by "booklet".

Details

no detail in the moment.

Value

An object of class c("pers", "data.frame") or a (very long) "list" (when setting on techout=TRUE) containing the person parameters.

References

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.

Warm, T. A. (1989). Weighted likelihood estimation of ability in item response theory. Psychometrika, 54(3), 427–450.

Examples

############
data(sim200x3)
result <- pers(itempar=pair(sim200x3))
summary(result)
plot(result)
logLik(result) # Log-Likelihood for 'estimated' model
logLik(result, sat=TRUE) # Log-Likelihood for saturated model
AIC(logLik(result)) # AIC for 'estimated' model
AIC(logLik(result, sat=TRUE)) # AIC for saturated model
BIC(logLik(result)) # BIC for 'estimated' model
BIC(logLik(result, sat=TRUE)) # BIC for saturated model
###### following example requires package eRm ######
# require(eRm)
# # itemparameter with eRm:
# itempar_eRm <- thresholds(PCM(sim200x3))$ threshtable[[1]][,2:3]
# # pairwise personparameter with eRm-itemparameter and data:
# summary(pers(itempar=itempar_eRm,daten=sim200x3))
# # eRm personparameter:
# person.parameter(PCM(sim200x3))
# # personparameter with pairwise:
# summary(pers(pair(sim200x3))) 

pairwise documentation built on April 18, 2023, 1:10 a.m.