Psychometrics is concerned with the design and analysis of research and
the measurement of human characteristics. Psychometricians have also
worked collaboratively with those in the field of statistics and
quantitative methods to develop improved ways to organize and analyze
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. Recently, Journal of Statistical Software (JSS)
published a special volume on
Psychometrics in R
in which some new R packages were published which are not yet on CRAN.
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 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.
-
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 Stocking-Lord methods for dichotomous (1PL, 2PL and 3PL) and/or polytomous (graded response, partial credit/generalized partial credit, nominal, and multiple-choice model) items.
The multidimensional methods include the Reckase-Martineau method and extensions
of the Haebara and Stocking-Lord method.
-
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.
-
The package
lordif
provides a logistic regression framework for detecting various types of differential item functioning (DIF).
-
The
catR
package allows for computarized adaptive testing using IRT methods.
-
The package
plRasch
computes maximum likelihood estimates and
pseudo-likelihood estimates of parameters of Rasch models for polytomous
(or dichotomous) items and multiple (or single) latent traits. Robust
standard errors for the pseudo-likelihood estimates are also computed.
-
A multilevel Rasch model can be estimated using the package
lme4
with functions for mixed-effects models with crossed or
partially crossed random effects.
-
Other packages of interest are:
mokken
to compute
non-parametric item analysis, the
RaschSampler
allowing for
the construction of exact Rasch model tests by generating random
zero-one matrices with given marginals, and
mprobit
fitting the
multivariate binary probit model. 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 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.
-
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.
-
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 two-parameter normal
ogive model for responses and a log-normal model for response times.
-
Bayesian approaches for estimating item and person parameters by means of Gibbs-Sampling
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 non-crossing ICCs.
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 three-dimensional 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 well-known two- and three-dimensional
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
co-correspondence 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
non-metric multidimensional scaling. The constrained ordination methods
include constrained analysis of proximities, redundancy analysis, and
constrained (canonical) and partially constrained correspondence
analysis.
-
Other extensions of CA and MCA which also generalize many common IRT
models can be found on the
PsychoR
page.
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 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.
-
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.
The
systemfit
package implements a wider variety of estimators
for observed-variables models, including nonlinear simultaneous-equations models.
See also the
pls
package, for partial least-squares 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 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 package
semPLS
sits 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.
-
The
plsRglm
package is designed to provide PLS regression and PLS generalized linear regression. It includes various criteria to select the number of components, repeated k-fold cross-validation, bootstrap confidence intervals and significance testing.
-
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 semi-exploratory 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 and, by defining sets, nonlinear canonical
correlation analysis (models of the Gifi-family).
-
Independent component analysis (ICA) can be computed using
fastICA.
-
A desired number of robust principal components can be computed with the
pcaPP
package.
-
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
.
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,
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.
-
The
PTAk
package provides a multiway method to decompose a
tensor (array) of any order, as a generalisation of SVD also supporting
non-identity metrics and penalisations. 2-way SVD with these extensions
is also available. Additionally, the package includes some other
multiway methods: PCAn (Tucker-n) and PARAFAC/CANDECOMP with extensions.
-
MASS
and stats provide
functionalities for computing classical MDS using the
cmdscale()
function. Sammon mapping
sammon()
and non-metric MDS
isoMDS()
are other relevant functions.
-
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.
-
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 multiple-choice responses, perform reliability analyses,
conduct item analyses, and transform scores onto different scales.
-
Functions for correlation theory, meta-analysis (validity generalization), reliability, item analysis, inter-rater reliability, and classical utility are contained in the
psychometric
package.
-
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.
-
A number of routines for scale construction and reliability analysis useful
for personality and experimental psychology are contained in the
packages
psych
and
MiscPsycho.
-
Additional measures for reliability and concordance can be computed with the
concord
package.
Other related packages:
-
Recursive partitioning based on psychometric models, employing the general MOB algorithm (from package party) are implemented in
psychotree. Currently, only Bradley-Terry trees are provided.
-
The
equate
package contains functions for non-IRT equating under both random groups and nonequivalent groups with anchor test designs. Mean, linear, equipercentile and circle-arc 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.
-
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, more-sample, and
stepwise configural frequency analysis (CFA).
-
Coefficents for interrater reliability and agreements can be computed with the
irr.
-
prefmod
generates design matrix for analysing real paired comparisons and derived paired comparison data
(Likert type items / ratings or rankings) using a loglinear approach. Fits loglinear Bradley-Terry model (LLBT) exploting an eliminate feature. Computes pattern models
for paired comparisons, rankings, and ratings. Some treatment of missing values (MCAR and MNAR).
-
Bradley-Terry models for paired comparisons are implemented in the package
BradleyTerry2
and in
eba. The latter allowes for the computation of elimination-by-aspects models.
-
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.
-
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.
-
Confidence intervals for standardized effect sizes: The
MBESS
package.
-
Functions for data screening, testing moderation, mediation, and estimating power are contained in the
QuantPsyc
package.
-
The
qgraph
package can be used to visualize data as networks.
-
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.