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 us know
if we have omitted
something of importance, or if a new package or function
should be mentioned here.
Item Response Theory (IRT):

The
eRm
package fits extended Rasch models, i.e. the ordinary
Rasch model for dichotomous data (RM), the linear logistic test model
(LLTM), the rating scale model (RSM) and its linear extension (LRSM),
the partial credit model (PCM) and its linear extension (LPCM) using
conditional ML estimation. Missing values are allowed.

The package
ltm
also fits the simple RM. Additionally,
functions for estimating Birnbaum's 2 and 3parameter 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.

TAM
fits unidimensional and multidimensional item response models and also includes multifaceted models,
latent regression models and options for drawing plausible values.

The
mirt
allows for the analysis of 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 bifactor and twotier analyses are available for
modeling item testlets. Multiple group analysis and mixed effects designs also are available for detecting differential item functioning
and modelling 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 multiplechoice 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, modelbased reliability) are included in
sirt.

The
pcIRT
estimates the multidimensional polytomous Rasch model and the Mueller's continuous rating scale model.

MultiLCIRT
estimates IRT models under (1) multidimensionality assumption, (2) discreteness of
latent traits, (3) binary and ordinal polytomous items.

Conditional maximum likelihood estimation via the EM algorithm and
informationcriterionbased model selection in binary mixed Rasch models are
implemented in the
mRm
package and the
psychomix
package.
The
mixRasch
package estimates mixture Rasch models, including the
dichotomous Rasch model, the rating scale model, and the partial credit model.

Item and ability parameters can be calibrated using the package
plink. It provides unidimensional and multidimensional methods
such as Mean/Mean, Mean/Sigma, Haebara,
and StockingLord methods for dichotomous (1PL, 2PL and 3PL) and/or
polytomous (graded response, partial credit/generalized partial credit, nominal,
and multiplechoice model) items.
The multidimensional methods include the ReckaseMartineau method and
extensions
of the Haebara and StockingLord method.

The
equateIRT
package computes direct, chain and average (bisector) equating coefficients with
standard errors using Item Response Theory (IRT) methods for dichotomous items.

The
EstCRM
package calibrates the parameters for Samejima's
Continuous IRT Model via EM algorithm and Maximum Likelihood. It allows to
compute item fit residual statistics, to draw empirical 3D item category
response curves, to draw theoretical 3D item category response curves, and to
generate data under the CRM for simulation studies.

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

The package
lordif
provides a logistic regression framework for
detecting various types of differential item functioning (DIF).

DIFlasso
implements a penalty approach to Differential Item Functioning in Rasch Models.
It can handle settings with multiple (metric) covariates.

The
catR
package allows for computarized adaptive testing using
IRT methods.

The package
plRasch
computes maximum likelihood estimates and
pseudolikelihood estimates of parameters of Rasch models for polytomous
(or dichotomous) items and multiple (or single) latent traits. Robust
standard errors for the pseudolikelihood estimates are also computed.

A multilevel Rasch model can be estimated using the package
lme4,
nlme, and
MCMCglmm
with functions for mixedeffects models with crossed or
partially crossed random effects. The
ordinal
package implements this approach for polytomous models. An infrastructure for
estimating treestructured 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 crossvalidation and a variety of exploratory
plotting tools.

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

Simple Rasch computations such a simulating data and joint maximum
likelihood are included in the
MiscPsycho
package.

The
irtProb
is designed to estimate multidimensional subject
parameters (MLE and MAP) such as personnal pseudoguessing,
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. Currently, only works for 3PL IRT models (or 2PL or 1PL)
and only for independent cut scores.

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, BILOGMG, and ltm, and a variety of functions useful
with IRT models.

The
CDM
package estimates cognitive diagnosis models (DINA, DINO and GDINA models) and the general diagnostic model with discrete and quasicontinuous multidimensional latent variables which also includes the multidimensional compensatory item response model.

Gaussian ordination, related to logistic IRT and also approximated as
maximum likelihood estimation through canonical correspondence analysis
is implemented in various forms in the package
VGAM.

Two additional IRT packages (for Microsoft Windows only) are available and
documented on the JSS site.
The package
mlirt
computes multilevel IRT models,
and
cirt
uses
a joint
hierarchically built up likelihood for estimating a twoparameter normal
ogive model for responses and a lognormal model for response times.

Bayesian approaches for estimating item and person parameters by means of
GibbsSampling
are included in
MCMCpack. In addition, the
pscl
package allows for Bayesian IRT and roll call analysis.

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 noncrossing 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.
Correspondence Analysis (CA):

The package
ca
comprises two parts, one for simple
correspondence analysis and one for multiple and joint correspondence
analysis. Within each part, functions for computation, summaries and
visualization in two and three dimensions are provided, including
options to display supplementary points and perform subset analyses.
Other features are visualization functions that offer features such as
different scaling options for biplots and threedimensional maps using
the rgl package. Graphical options include shading and
sizing plot symbols for the points according to their contributions to
the map and masses respectively. A corresponding GUI is provided by the
package
caGUI
.

Simple and canonical CA are provided by the package
anacor. It
allows for diffenrent scaling methods such as standard scaling, Benzecri scaling,
centroid scaling, and Goodman scaling. Along with wellknown two and threedimensional
joint plots including confidence ellipsoids, it offers alternative plotting possibilities
in terms of transformation plots, Benzecri plots, and regression plots.

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.

The package
ade4
contains an extensive set of
functions covering, e.g., principal components, simple and multiple,
fuzzy, non symmetric, and decentered correspondence
analysis. Additional functionality is provided at
Bioconductor
in
the package
made4
(see also
here
).

The package
cocorresp
fits predictive and symmetric
cocorrespondence analysis (CoCA) models to relate one data matrix to
another data matrix.

Apart from several factor analytic methods
FactoMineR
performs CA including supplementary row and/or
column points and multiple correspondence analysis (MCA) with
supplementary individuals, supplementary quantitative variables and
supplementary qualitative variables.

Package
vegan
supports all basic ordination methods, including
nonmetric multidimensional scaling. The constrained ordination methods
include constrained analysis of proximities, redundancy analysis, and
constrained (canonical) and partially constrained correspondence
analysis.

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.
Structural Equation Models, Factor Analysis, PCA:

Ordinary factor analysis (FA) is the package stats as function
factanal(). Principal component analysis (PCA) can be fitted with
prcomp()
(based on
svd(), preferred) as well as
princomp()
(based on
eigen()
for compatibility with
SPLUS). Additional
rotation methods for FA based on gradient projection algorithms
can be found in the package
GPArotation. The package
nFactors
produces
a nongraphical solution to the Cattell scree test. Some graphical PCA
representations
can be found in the
psy
package.

The
sem
package fits general (i.e., latentvariable) SEMs by
FIML,
and structural equations in observedvariable models by 2SLS. Categorical
variables in SEMs can be accommodated via the
polycor
package.
The
systemfit
package implements a wider variety of estimators
for observedvariables models, including nonlinear simultaneousequations
models.
See also the
pls
package, for partial leastsquares estimation,
the
gR
task view for graphical models and the
SocialSciences
task view for other related packages.

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 SatorraBentler 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
lavaan.survey
package allows for complex survey structural equation modeling (SEM). It fits structural equation models (SEM) including factor analysis, multivariate regression models with latent variables and many other latent variable models while correcting estimates, standard errors, and chisquarederived fit measures for a complex sampling design. It incorporates clustering, stratification, sampling weights, and finite population corrections into a SEM analysis.

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 package
semPLS
fits structural equation models using partial
least squares (PLS). The PLS approach is referred to as softmodeling 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).

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.

SEMModComp
conducts tests of difference in fit for mean and
covariance structure models as in structural equation modeling (SEM).

The package
FAiR
performs factor analysis based on a genetic algorithm
for optimization. This makes it possible to impose a wide range of restrictions on
the factor analysis model, whether using exploratory factor analysis, confirmatory
factor analysis, or a new estimator called semiexploratory factor analysis (SEFA).

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
homals
package provides nonlinear PCA (aka categorical PCA) and, by defining sets,
nonlinear canonical
correlation analysis (models of the Gififamily).

Independent component analysis (ICA) can be computed using
fastICA.

A desired number of robust principal components can be computed with the
pcaPP
package.

The
pcaPA
package performs a parallel analysis of continuous, ordered
(including dichotomous/binary as a special case) or mixed type of data associated with a principal components analysis.

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.

An interface between the EQS software for SEM and R is provided by the
REQS
package.

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. It is
available under this
link
.

The
MplusAutomation
package allows to automate latent variable
model estimation and interpretation using Mplus.
Multidimensional Scaling (MDS):

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,
threeway 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.

The
PTAk
package provides a multiway method to decompose a
tensor (array) of any order, as a generalisation of SVD also supporting
nonidentity metrics and penalisations. 2way SVD with these extensions
is also available. Additionally, the package includes some other
multiway methods: PCAn (Tuckern) and PARAFAC/CANDECOMP with extensions.

MASS
and stats provide
functionalities for computing classical MDS using the
cmdscale()
function. Sammon mapping
sammon()
and nonmetric MDS
isoMDS()
are other relevant functions.

Nonmetric 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).
Classical Test Theory (CTT):

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

Functions for correlation theory, metaanalysis (validity generalization),
reliability, item analysis, interrater reliability, and classical utility are
contained in the
psychometric
package.

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 stepbystep
CronbachMesbach 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 intraclass 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
packages
psych
and
MiscPsycho.

QME
(not on CRAN) computes measures from generalizability theory.
Knowledge structure analysis:

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.
Other related packages:

The
psychotools
provides an infrastructure for psychometric
modeling such as data classes (e.g., for paired comparisons) and basic model
fitting functions (e.g., for Rasch and BradleyTerry models).

Recursive partitioning based on psychometric models, employing the general
MOB algorithm (from package party) are implemented in
psychotree.
Currently, only BradleyTerry trees are provided.

Psychometric mixture models based on flexmix infrastructure are provided by
means of the
psychomix
package (at the moment Rasch mixture models
and BradleyTerry mixture models).

The
equate
package contains functions for nonIRT equating under
both random groups and nonequivalent groups with anchor test designs. Mean,
linear, equipercentile and circlearc equating are supported, as are methods for
univariate and bivariate presmoothing of score distributions. Specific equating
methods currently supported include Tucker, Levine observed score, Levine true
score, Braun/Holland, frequency estimation, and chained equating.

The
CopyDetect
package contains several IRT and nonIRT based
statistical indices proposed in the literature for detecting answer copying on
multiplechoice examinations.

Latent class analysis 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.

The
cfa
package allows for the computation of simple,
moresample, and
stepwise configural frequency analysis (CFA).

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

prefmod
generates design matrices for analysing real paired
comparisons and derived paired comparison data
(Likert type items / ratings or rankings) using a loglinear approach. Fits
loglinear BradleyTerry model (LLBT) exploting an eliminate feature. Computes
pattern models
for paired comparisons, rankings, and ratings. Some treatment of missing
values (MCAR and MNAR).

BradleyTerry models for paired comparisons are implemented in the package
BradleyTerry2
and in
eba. The latter allows for the computation of
eliminationbyaspects models.

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.

Confidence intervals for standardized effect sizes: The
MBESS
package.

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

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.

The
qgraph
package can be used to visualize data as networks.

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
treelike graph and represent the cognitive processing steps executed to arrive
at observable response categories.The
MPTinR
package provides a
userfriendly way for analysis of multinomial processing tree (MPT) models.

Beta regression for modeling betadistributed 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 crossvalidation 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.