CRAN Task View: Psychometric Models and Methods

Psychometrics is concerned with theory and techniques of psychological measurement.
Psychometricians have also worked collaboratively with those in the field of statistics and
quantitative methods to develop improved ways to organize, analyze, and scale
corresponding data. Since much functionality is already contained in base R and there
is considerable overlap between tools for psychometry and tools
described in other views, particularly in
SocialSciences,
we only give a brief overview of packages that are closely related to
psychometric methodology.

Please let me know
if I have omitted
something of importance, or if a new package or function
should be mentioned here.

The package
ltm
also fits the simple RM. Additionally,
functions for estimating Birnbaum's 2- and 3-parameter models based on a
marginal ML approach are implemented as well as the graded response
model for polytomous data, and the linear multidimensional logistic
model.

The
mirt
estimates dichotomous and polytomous response data using
unidimensional and multidimensional latent trait models under the IRT paradigm. Exploratory and confirmatory models can be
estimated with quadrature (EM) or stochastic (MHRM) methods. Confirmatory bi-factor and two-tier analyses are available for
modeling item testlets. Multiple group analysis and mixed effects designs also are available for detecting differential item functioning
and modeling item and person covariates.

The
mcIRT
package provides functions to estimate the Nominal Response Model and the Nested Logit Model. Both are models to examine multiple-choice items
and other polytomous response formats. Some additional uni- and multidimensional item response models (especially for locally dependent item responses) and
some exploratory methods (DETECT, LSDM, model-based reliability) are included in
sirt.

The
PP
package includes estimation of (MLE, WLE, MAP, EAP, ROBUST) person parameters for the 1,2,3,4-PL model and the
GPCM (generalized partial credit model). The parameters are estimated under the assumption that the item parameters are known and fixed.
The package is useful e.g. in the case that items from an item pool/item bank with known item parameters are administered to a new
population of test-takers and an ability estimation for every test-taker is needed.

The
difR
package contains several traditional methods to detect
DIF in dichotomously scored items. Both uniform and non-uniform DIF effects can
be detected, with methods relying upon item response models or not. Some methods
deal with more than one focal group.

DIFlasso
implements a penalty approach to differential item functioning in Rasch models.
It can handle settings with multiple (metric) covariates.

A set of functions to perform Raju, van der Linden and Fleer's (1995) differential item and item functioning analyses is implemented
in the
DFIT
package. It includes functions to use the Monte Carlo item parameter replication (IPR) approach
for obtaining the associated statistical significance tests cut-off points.

Explicit calculation (not estimation) of Rasch item parameters (dichotomous and polytomous) by means of a pairwise comparison approach
can be done using the
pairwise
package.

A multilevel Rasch model can be estimated using the package
lme4,
nlme, and
MCMCglmm
with functions for mixed-effects models with crossed or
partially crossed random effects. The
ordinal
package implements this approach for polytomous models. An infrastructure for
estimating tree-structured item response models of the GLMM family using
lme4
is provided in
irtrees.

Nonparametric IRT analysis can be computed by means if the
mokken
package. It includes an automated item selection algorithm, and various checks of model assumptions. In relation to that,
fwdmsa
performs the Forward Search for Mokken scale analysis. It detects outliers, it produces several types of diagnostic plots.

This
KernSmoothIRT
package fits nonparametric item and option characteristic curves using kernel smoothing. It allows for optimal selection of the smoothing bandwidth using cross-validation and a variety of exploratory
plotting tools.

The
RaschSampler
allows the construction of exact Rasch model tests by generating random zero-one matrices with given marginals.

Statistical power simulation for testing the Rasch model based on a three-way ANOVA design with mixed classification can be carried out using
pwrRasch.

The
irtProb
package is designed to estimate multidimensional subject parameters (MLE and MAP) such as personal pseudo-guessing, personal fluctuation, personal inattention. These supplemental parameters
can be used to assess person fit, to identify misfit type, to generate misfitting response patterns, or to make correction while estimating the proficiency level considering potential misfit at the same time.

cacIRT
computes classification accuracy and consistency under Item Response Theory.
Implements total score and latent trait IRT methods as well as total score kernel-smoothed methods.

The package
irtoys
provides a simple common interface to the
estimation of item parameters in IRT models for binary responses with three
different programs (ICL, BILOG-MG, and ltm, and a variety of functions useful
with IRT models.

emIRT
provides various EM-algorithms IRT models (binary and ordinal responses, along with dynamic and hierarchical models).

immer
implements some item response models for multiple ratings, including the hierarchical rater model and a wrapper function to the commercial FACETS program.

An Rcpp based implementation of a variety of IRT models is provided by
IRTpp.

The
latdiag
package produces commands to drive the dot program
from graphviz to produce a
graph useful in deciding whether a set of binary items might have a latent
scale with non-crossing ICCs.

The purpose of the
rpf
package is to factor out logic and math
common to IRT fitting, diagnostics, and analysis. It is envisioned as core
support code suitable for more specialized IRT packages to build upon.

The
classify
package can be used to examine classification
accuracy and consistency under IRT models.

irtDemo
includes a collection of shiny applications to demonstrate or to explore fundamental IRT concepts.

IRT utility functions described in the Baker/Kim book are included in
birtr.

Correspondence Analysis (CA), Optimal Scaling:

The package
ca
comprises two parts, one for simple
correspondence analysis and one for multiple and joint correspondence
analysis.

Simple and canonical CA are provided by the package
anacor, including confidence ellipsoids. It
allows for different scaling methods such as standard scaling, Benzecri scaling,
centroid scaling, and Goodman scaling.

A GUI (Windows only) that allows the user to construct interactive Biplots is
offered by the package
BiplotGUI.

Homogeneity analysis aka multiple CA and various Gifi extensions can be
computed
by means of the
homals
package. Hull plots, span plots, Voronoi
plots, star plots,
projection plots and many others can be produced.

Simple and multiple correspondence analysis can be performed using
corresp()
and
mca()
in package
MASS.

cncaGUI
implements a GUI with which users can construct and interact with canonical (non-symmetrical) CA.

SVD based multivariate exploratory methods such as PCA, CA, MCA
(as well as a Hellinger form of CA), generalized PCA are implemented in
ExPosition.
The package also allows for supplementary data projection.

The package
psych
includes functions such as
fa.parallel()
and
VSS()
for estimating the
appropriate number of factors/components as well as
ICLUST()
for item clustering.

PCA can be fitted with
prcomp()
(based on
svd(), preferred) as well as
princomp()
(based on
eigen()
for compatibility with
S-PLUS). Additional rotation methods for FA based on gradient projection algorithms can be found in the package
GPArotation. The package
nFactors
produces a non-graphical solution to the Cattell scree test. Some graphical PCA representations
can be found in the
psy
package.
paran
implements Horn's test of principal components/factors.

FA and PCA with supplementary individuals and supplementary quantitative/qualitative variables
can be performed using the
FactoMineR
package whereas
MCMCpack
has some options for sampling from
the posterior for ordinal and mixed factor models.

The package
lavaan
can be used to estimate a large variety of
multivariate statistical models, including path analysis, confirmatory factor
analysis, structural equation modeling and growth curve models. It includes the
lavaan model syntax which allows users to express their models in a compact way
and allows for ML, GLS, WLS, robust ML using Satorra-Bentler corrections, and
FIML for data with missing values. It fully supports for meanstructures and
multiple groups and reports standardized solutions, fit measures, modification
indices and more as output.

The
OpenMx
package allows
estimation of a wide variety of advanced multivariate statistical models. It
consists of a library of functions and optimizers that allow you to quickly and
flexibly define an SEM model and estimate parameters given observed data.

The
sem
package fits general (i.e., latent-variable) SEMs by
FIML, and structural equations in observed-variable models by 2SLS. Categorical
variables in SEMs can be accommodated via the
polycor
package.

A collection of functions for conducting meta-analysis using a structural equation modeling (SEM) approach via OpenMx is provided by
the
metaSEM
package.

A general implementation of a computational framework for latent variable
models (including structural equation models) is given in
lava. The
lava.tobit
package generalizes the framework to censored and
dichotomous variables via a probit link formulation.

The
pls
package can be used for partial least-squares estimation.
The package
semPLS
fits structural equation models using partial
least squares (PLS). The PLS approach is referred to as soft-modeling technique
requiring no distributional assumptions on the observed data. PLS methods with
emphasis on structural equation models with latent variables are given in
plspm
which also includes
pathmox
as a companion package
with approaches of segmentation trees in PLS path modeling.

simsem
is a package designed to aid in Monte Carlo simulations
using SEM (for methodological investigations, power analyses and much more).

Sim.DiffProc
provides a framework for parallelized Monte Carlo simulation-estimation in multidimensional continuous-time models, which have been implemented as SEM.

semTools
is a package of add on functions that can aid in fitting
SEMs in R (for example one function automates imputing missing data, running
imputed datasets and combining the results from these datasets).

semPlot
produces path diagrams and visual analysis for outputs of various SEM packages.

The
smacof
package provides the following approaches of
multidimensional scaling (MDS) based on stress minimization by means of majorization: Simple smacof on symmetric
dissimilarity matrices, smacof for rectangular matrices (unfolding models), smacof with constraints
on the configuration, three-way smacof for individual differences (including constraints for
idioscal, indscal, and identity), and spherical smacof (primal and dual algorithm). Each of these
approaches is implemented in a metric and nonmetric manner including primary, secondary,
and tertiary approaches for tie handling.

Non-metric MDS can additionally be performed with
metaMDS()
in
vegan. Furthermore,
labdsv
and
ecodist
provide the function
nmds()
and some routines can be found in
xgobi. Also, the
ExPosition
implements a function for metric MDS.

Principal coordinate analysis can be computed with
capscale()
in
vegan; in
labdsv
and
ecodist
using
pco()
and
with
dudi.pco()
in
ade4.

Individual differences in multidimensional scaling can be computed with
indscal()
in the
SensoMineR
package.

The package
MLDS
allows for the computation of maximum likelihood difference scaling (MLDS).

The
CTT
package can be used to perform a variety of tasks and
analyses
associated with classical test theory: score multiple-choice responses,
perform reliability analyses,
conduct item analyses, and transform scores onto different scales.

The
cocron
package provides functions to statistically compare two or more alpha coefficients based
on either dependent or independent groups of individuals.

The
CMC
package calculates and plots the step-by-step
Cronbach-Mesbach curve, that is a method, based on the Cronbach alpha
coefficient of reliability, for checking the unidimensionality of a measurement
scale.

Cronbach alpha, kappa coefficients, and intra-class correlation coefficients
(ICC) can be found in the
psy
package. Functions for ICC computation can be also found in the packages
psych,
psychometric
and
ICC.

A number of routines for scale construction and reliability analysis useful
for personality and experimental psychology are contained in the
package
psych.

DAKS
provides functions and example datasets for the
psychometric theory of knowledge
spaces. This package implements data analysis methods and procedures for
simulating data and
transforming different formulations in knowledge space theory.

The
kst
package contains basic functionality to generate, handle,
and manipulate deterministic knowledge structures based on sets and relations.
Functions for fitting probabilistic knowledge structures are included in the
pks
package.

Latent Class Analysis (LCA):

LCA with random effects can be performed with the package
randomLCA. In addition, the package
e1071
provides the function
lca(). Another package is
poLCA
for polytomous variable latent class analysis.
LCA can also be fitted using
flexmix
which optionally allows for the inclusion of concomitant variables and latent class regression.

The
CopyDetect
package contains several IRT and non-IRT based
statistical indices proposed in the literature for detecting answer copying on
multiple-choice examinations.

Interactive shiny application for analysis of educational tests and their items are provided by the
ShinyItemAnalysis
package.

Coefficients for interrater reliability and agreements can be computed with the
irr.

Psychophysical data can be analyzed with the
psyphy
package. The
MLCM
package contains functions to estimate the contribution of the n
scales to the judgment by a maximum likelihood method under several hypotheses
of how the perceptual dimensions interact.

Functions and example datasets for Fechnerian scaling of discrete object
sets are provided by
fechner. It computes Fechnerian
distances among objects representing subjective dissimilarities, and other
related information.

The
modelfree
package provides functions for nonparametric
estimation of a psychometric function and for estimation of a derived threshold
and slope, and their standard deviations and confidence intervals.

The
mediation
allows both parametric and nonparametric causal mediation analysis.
It also allows researchers to conduct sensitivity analysis for certain parametric models.

Mediation analysis using natural effect models can be performed using
medflex.

Functions for data screening, testing moderation, mediation, and estimating
power are contained in the
QuantPsyc
package.

The package
multiplex
is especially designed for social networks with relations at
different levels. In this sense, the program has effective ways to treat multiple networks data
sets with routines that combine algebraic structures like the partially ordered semigroup
with the existing relational bundles found in multiple networks. An algebraic approach for two-mode networks is made
through Galois derivations between families of the pair of subsets.

Social Relations Analyses for round robin designs are implemented in the
TripleR
package. It implements all functionality of the SOREMO
software, and provides new functions like the handling of missing values,
significance tests for single groups, or the calculation of the self enhancement
index.

Fitting and testing multinomial processing tree models, a class of statistical
models for categorical data with latent parameters, can be performed using the
mpt
package. These parameters are the link probabilities of a
tree-like graph and represent the cognitive processing steps executed to arrive
at observable response categories.The
MPTinR
package provides a
user-friendly way for analysis of multinomial processing tree (MPT) models.

Beta regression for modeling beta-distributed dependent variables, e.g., rates
and proportions, is available in
betareg.

The
cocor
package provides functions to compare two correlations based on either dependent or independent groups.

The
profileR
package provides a set of tools that implement profile analysis and cross-validation techniques.

The
TestScorer
package provides a GUI for entering test items and obtaining raw and transformed scores. The results are shown on the console and can be saved to a
tabular text file for further statistical analysis. The user can define his own tests and scoring procedures through a GUI.

The
GDINA
package estimates various cognitive diagnosis models (CDMs) within the generalized deterministic inputs, noisy and gate (G-DINA) model and the sequential G-DINA model framework. It can also be used to conduct Q-matrix validation, item and model fit statistics, model comparison at the test and item level and differential item functioning. A graphical user interface is also provided.