IRT Linking and Linking Error Estimation Across Time Points and Groups

Estimation of trends in the mean and standard deviation of latent ability distributions across the time points of educational assessments, and of ability distribution differences across linked groups, for unidimensional item response theory (IRT) models (1PL, 2PL, 3PL, partial credit, and generalized partial credit). Groups connected through common items, with independent or dependent person samples, are calibrated on an internal marginal maximum likelihood EM engine, separately, concurrently, with fixed item parameters, or with regularized calibration. Linking methods include mean-mean and mean-geometric mean linking, Haberman linking (Haberman, 2009, ) with robust Lp loss and a pairwise variant (Robitzsch, 2025, ), and the response function methods of Haebara and Stocking-Lord. Under differential item functioning (DIF), the linked estimates depend on the selected common items, and the package estimates this linking error together with the standard error by jackknife and sandwich estimators, including bias-corrected variants (Robitzsch, 2024, ). RMSD and likelihood-ratio DIF diagnostics with iterative purification are included.


irtlink

IRT Linking and Linking Error Estimation Across Time Points and Groups

irtlink uses unidimensional item response theory (IRT) models (1PL, 2PL, 3PL, and the partial credit and generalized partial credit models for polytomous items) to estimate trends in the mean and standard deviation of a latent ability distribution across time points of an educational assessment. It also estimates ability distribution differences across linked groups. Groups are connected through common items; their person samples may be independent, dependent, or drawn from different populations. The package quantifies the linking error induced by differential item functioning (DIF) in the estimates. For a tour of the package, see vignette("irtlink"), and for the function overview, see ?irtlink.

If you encounter a bug or have a suggestion, please open a GitHub issue or email me at engels@leibniz-ipn.de. The most useful reports contain a small example that reproduces the problem, including a minimal dataset (a sim_trend_data() call with a seed is usually sufficient), the shortest script that triggers the issue on that dataset, and the output of sessionInfo().

GitHub version irtlink 0.1.0 (2026-10-06)

The version hosted here can be installed from within R using:

# install.packages("remotes")
remotes::install_github("oskarengels/irtlink")

or with devtools:

# install.packages("devtools")
devtools::install_github("oskarengels/irtlink")

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("irtlink")

0.1.0 by Oskar Engels, 8 hours ago


https://github.com/oskarengels/irtlink


Report a bug at https://github.com/oskarengels/irtlink/issues


Browse source code at https://github.com/cran/irtlink


Authors: Oskar Engels [aut, cre] (ORCID:


Documentation:   PDF Manual  


GPL (>= 3) license


Imports graphics, grDevices, parallel, Rcpp, stats, utils

Suggests knitr, rmarkdown, testthat

Linking to Rcpp


See at CRAN