Learn R Programming

psych (version 2.5.3)

Procedures for Psychological, Psychometric, and Personality Research

Description

A general purpose toolbox developed originally for personality, psychometric theory and experimental psychology. Functions are primarily for multivariate analysis and scale construction using factor analysis, principal component analysis, cluster analysis and reliability analysis, although others provide basic descriptive statistics. Item Response Theory is done using factor analysis of tetrachoric and polychoric correlations. Functions for analyzing data at multiple levels include within and between group statistics, including correlations and factor analysis. Validation and cross validation of scales developed using basic machine learning algorithms are provided, as are functions for simulating and testing particular item and test structures. Several functions serve as a useful front end for structural equation modeling. Graphical displays of path diagrams, including mediation models, factor analysis and structural equation models are created using basic graphics. Some of the functions are written to support a book on psychometric theory as well as publications in personality research. For more information, see the web page.

Copy Link

Version

Install

install.packages('psych')

Monthly Downloads

197,572

Version

2.5.3

License

GPL (>= 2)

Maintainer

William Revelle

Last Published

March 21st, 2025

Functions in psych (2.5.3)

Gorsuch

Example data set from Gorsuch (1997) for an example factor extension.
00.psych

A package for personality, psychometric, and psychological research
Harman

Five data sets from Harman (1967). 9 cognitive variables from Holzinger and 8 emotional variables from Burt
Promax

Perform Procustes,bifactor, promax or targeted rotations and return the inter factor angles.
ICLUST.cluster

Function to form hierarchical cluster analysis of items
AUC

Decision Theory measures of specificity, sensitivity, and d prime
RMSEA

Root Mean Squared Error of Approximation from chisq, df, and n
VSS

Apply the Very Simple Structure, MAP, and other criteria to determine the appropriate number of factors.
RV

Three measures of the correlations between sets of variables
ICLUST.graph

create control code for ICLUST graphical output
KMO

Find the Kaiser, Meyer, Olkin Measure of Sampling Adequacy
VSS.parallel

Compare real and random VSS solutions
Schmid

12 variables created by Schmid and Leiman to show the Schmid-Leiman Transformation
SD

Find the Standard deviation for a vector, matrix, or data.frame - do not return error if there are no cases
Garcia

Data from the sexism (protest) study of Garcia, Schmitt, Branscome, and Ellemers (2010)
Gleser

Example data from Gleser, Cronbach and Rajaratnam (1965) to show basic principles of generalizability theory.
ICC

Intraclass Correlations (ICC1, ICC2, ICC3 from Shrout and Fleiss)
VSS.plot

Plot VSS fits
Tucker

9 Cognitive variables discussed by Tucker and Lewis (1973)
iclust

iclust: Item Cluster Analysis -- Hierarchical cluster analysis using psychometric principles
Pinv

Compute the Moore-Penrose Pseudo Inverse of a matrix
VSS.scree

Plot the successive eigen values for a scree test
bi.bars

Draw pairs of bargraphs based on two groups
Bechtoldt

Seven data sets showing a bifactor solution.
block.random

Create a block randomized structure for n independent variables
bock

Bock and Liberman (1970) data set of 1000 observations of the LSAT
bestScales

A bootstrap aggregation function for choosing most predictive unit weighted items
cluster2keys

Convert a cluster vector (from e.g., kmeans) to a keys matrix suitable for scoring item clusters.
anova.psych

Model comparison for regression, mediation, cluster and factor analysis
ICLUST.rgraph

Draw an ICLUST graph using the Rgraphviz package
bfi

25 Personality items representing 5 factors
ICLUST.sort

Sort items by absolute size of cluster loadings
cluster.loadings

Find item by cluster correlations, corrected for overlap and reliability
bassAckward

The Bass-Ackward factoring algorithm discussed by Goldberg
cohen.d

Find Cohen d and confidence intervals
Yule

From a two by two table, find the Yule coefficients of association, convert to phi, or tetrachoric, recreate table the table to create the Yule coefficient.
cor.smooth

Smooth a non-positive definite correlation matrix to make it positive definite
cluster.plot

Plot factor/cluster loadings and assign items to clusters by their highest loading.
cortest.bartlett

Bartlett's test that a correlation matrix is an identity matrix
cortest

Chi square tests of whether a single matrix is an identity matrix, or a pair of matrices are equal.
alpha

Find two estimates of reliability: Cronbach's alpha and Guttman's Lambda 6.
cosinor

Functions for analysis of circadian or diurnal data
pairwiseCount

Count number of pairwise cases for a data set with missing (NA) data and impute values.
scoreOverlap

Find correlations of composite variables (corrected for overlap) from a larger matrix.
bigCor

Find large correlation matrices by stitching together smaller ones found more rapidly
cluster.fit

cluster Fit: fit of the cluster model to a correlation matrix
cor.wt

The sample size weighted correlation may be used in correlating aggregated data
describeBy

Basic summary statistics by group
biplot.psych

Draw biplots of factor or component scores by factor or component loadings
cattell

12 cognitive variables from Cattell (1963)
diagram

Helper functions for drawing path model diagrams
circ.tests

Apply four tests of circumplex versus simple structure
draw.tetra

Draw a correlation ellipse and two normal curves to demonstrate tetrachoric correlation
error.crosses

Plot x and y error bars
error.dots

Show a dot.chart with error bars for different groups or variables
error.bars.by

Plot means and confidence intervals for multiple groups
corCi

Bootstrapped and normal confidence intervals for raw and composite correlations
comorbidity

Convert base rates of two diagnoses and their comorbidity into phi, Yule, and tetrachorics
faRotations

Multiple rotations of factor loadings to find local minima
dummy.code

Create dummy coded variables
congruence

Matrix and profile congruences and distances
corTest

Find the correlations, sample sizes, and probability values between elements of a matrix or data.frame.
errorCircles

Two way plots of means, error bars, and sample sizes
correct.cor

Find dis-attenuated correlations given correlations and reliabilities
Dwyer

8 cognitive variables used by Dwyer for an example.
eigen.loadings

Convert eigen vectors and eigen values to the more normal (for psychologists) component loadings
corPlot

Create an image plot for a correlation or factor matrix
factor.congruence

Coefficient of factor congruence
harmonic.mean

Find the harmonic mean of a vector, matrix, or columns of a data.frame
faCor

Correlations between two factor analysis solutions
factor2cluster

Extract cluster definitions from factor loadings
cor2dist

Convert correlations to distances (necessary to do multidimensional scaling of correlation data)
headTail

Combine calls to head and tail
fa.multi

Multi level (hierarchical) factor analysis
iclust.diagram

Draw an ICLUST hierarchical cluster structure diagram
corFiml

Find a Full Information Maximum Likelihood (FIML) correlation or covariance matrix from a data matrix with missing data
cta

Simulate the C(ues) T(endency) A(ction) model of motivation
densityBy

Create a 'violin plot' or density plot of the distribution of a set of variables
interp.median

Find the interpolated sample median, quartiles, or specific quantiles for a vector, matrix, or data frame
fisherz

Transformations of r, d, and t including Fisher r to z and z to r and confidence intervals
irt.1p

Item Response Theory estimate of theta (ability) using a Rasch (like) model
fa.poly

Deprecated Exploratory Factor analysis functions. Please use fa
irt.responses

Plot probability of multiple choice responses as a function of a latent trait
describe

Basic descriptive statistics useful for psychometrics
manhattan

"Manhattan" plots of correlations with a set of criteria.
fparse

Parse and extend formula input from a model and return the DV(s), IV(s), and associated terms.
mat.sort

Sort the elements of a correlation matrix to reflect factor loadings
psych.misc

Miscellaneous helper functions for the psych package
ellipses

Plot data and 1 and 2 sigma correlation ellipses
mixedCor

Find correlations for mixtures of continuous, polytomous, and dichotomous variables
geometric.mean

Find the geometric mean of a vector or columns of a data.frame.
irt.fa

Item Response Analysis by Exploratory Factor Analysis of tetrachoric/polychoric correlations
fa.diagram

Graph factor loading matrices
irt.item.diff.rasch

Simple function to estimate item difficulties using IRT concepts
fa.extension

Apply Dwyer's factor extension to find factor loadings for extended variables
p.rep

Find the probability of replication for an F, t, or r and estimate effect size
paired.r

Test the difference between (un)paired correlations
fa.lookup

A set of functions for factorial and empirical scale construction
fa.parallel

Scree plots of data or correlation matrix compared to random ``parallel" matrices
predicted.validity

Find the predicted validities of a set of scales based on item statistics
principal

Principal components analysis (PCA)
scaling.fits

Test the adequacy of simple choice, logistic, or Thurstonian scaling.
schmid

Apply the Schmid Leiman transformation to a correlation matrix
score.alpha

Score scales and find Cronbach's alpha as well as associated statistics
scatterHist

Draw a scatter plot with associated X and Y histograms, densities and correlation
sim.structure

Create correlation matrices or data matrices with a particular measurement and structural model
pairs.panels

SPLOM, histograms and correlations for a data matrix
sim.VSS

create VSS like data
simulation.circ

Simulations of circumplex and simple structure
statsBy

Find statistics (including correlations) within and between groups for basic multilevel analyses
fa.random

A first approximation to Random Effects Exploratory Factor Analysis
error.bars

Plot means and confidence intervals
sim.anova

Simulate a 3 way balanced ANOVA or linear model, with or without repeated measures.
sim.irt

Functions to simulate psychological/psychometric data.
sim.item

Generate simulated data structures for circumplex, spherical, or simple structure
structure.diagram

Draw a structural equation model specified by two measurement models and a structural model
factor.residuals

R* = R- F F'
parcels

Find miniscales (parcels) of size 2 or 3 from a set of items
structure.list

Create factor model matrices from an input list
phi.demo

A simple demonstration of the Pearson, phi, and polychoric corelation
phi2tetra

Convert a phi coefficient to a tetrachoric correlation
thurstone

Thurstone Case V scaling
superMatrix

Form a super matrix from two sub matrices.
factor.rotate

``Hand" rotate a factor loading matrix
esem

Perform and Exploratory Structural Equation Model (ESEM) by using factor extension techniques
fa.sort

Sort factor analysis or principal components analysis loadings
tr

Find the trace of a square matrix
matrix.addition

A function to add two vectors or matrices
mediate

Estimate and display direct and indirect effects of mediators and moderator in path models
partial.r

Find the partial correlations for a set (x) of variables with set (y) removed.
fa

Exploratory Factor analysis using MinRes (minimum residual) as well as EFA by Principal Axis, Weighted Least Squares or Maximum Likelihood
factor.fit

How well does the factor model fit a correlation matrix. Part of the VSS package
factor.model

Find R = F F' + U2 is the basic factor model
factor.stats

Find various goodness of fit statistics for factor analysis and principal components
factor.scores

Various ways to estimate factor scores for the factor analysis model
lmCor

Multiple Regression, Canonical and Set Correlation from matrix or raw input
withinBetween

An example of the distinction between within group and between group correlations
logistic

Logistic transform from x to p and logit transform from p to x
reverse.code

Reverse the coding of selected items prior to scale analysis
glb.algebraic

Find the greatest lower bound to reliability.
splitHalf

Alternative estimates of test reliabiity
cohen.kappa

Find Cohen's kappa and weighted kappa coefficients for correlation of two raters
kaiser

Apply the Kaiser normalization when rotating factors
sat.act

3 Measures of ability: SATV, SATQ, ACT
score.multiple.choice

Score multiple choice items and provide basic test statistics
scoreWtd

Score items using regression or correlation based weights
sim.multilevel

Simulate multilevel data with specified within group and between group correlations
sim.omega

Further functions to simulate psychological/psychometric data.
phi

Find the phi coefficient of correlation between two dichotomous variables
plot.psych

Plotting functions for the psych package of class ``psych"
mssd

Find von Neuman's Mean Square of Successive Differences
polar

Convert Cartesian factor loadings into polar coordinates
lowerUpper

Combine two square matrices to have a lower off diagonal for one, upper off diagonal for the other
mardia

Calculate univariate or multivariate (Mardia's test) skew and kurtosis for a vector, matrix, or data.frame
sim.hierarchical

Create a population or sample correlation matrix, perhaps with hierarchical structure.
multi.hist

Multiple histograms with density and normal fits on one page
sim.congeneric

Simulate a congeneric data set with or without minor factors
make.keys

Create a keys matrix for use by score.items or cluster.cor
multilevel.reliability

Find and plot various reliability/gneralizability coefficients for multilevel data
omega

Calculate McDonald's omega estimates of general and total factor saturation
small.msq

A small example data set taken from a larger data set
test.irt

A simple demonstration (and test) of various IRT scoring algorthims.
test.psych

Testing of functions in the psych package
unidim

Several indices of the unidimensionality of a set of variables.
omega.graph

Graph hierarchical factor structures
outlier

Find and graph Mahalanobis squared distances to detect outliers
polychor.matrix

Phi or Yule coefficient matrix to polychoric coefficient matrix
predict.psych

Prediction function for factor analysis, principal components (pca), bestScales
rescale

Function to convert scores to ``conventional " metrics
print.psych

Print and summary functions for the psych class
residuals.psych

Extract residuals from various psych objects
winsor

Find the Winsorized scores, means, sds or variances for a vector, matrix, or data.frame
r.test

Tests of significance for correlations
rangeCorrection

Correct correlations for restriction of range. (Thorndike Case 2)
reliability

Reports 7 different estimates of scale reliabity including alpha, omega, split half
scoreIrt

Find Item Response Theory (IRT) based scores for dichotomous or polytomous items
scoreItems

Score item composite scales and find Cronbach's alpha, Guttman lambda 6 and item whole correlations
testRetest

Find various test-retest statistics, including test, person and item reliability
tetrachoric

Tetrachoric, polychoric, biserial and polyserial correlations from various types of input
spider

Make "radar" or "spider" plots.
smc

Find the Squared Multiple Correlation (SMC) of each variable with the remaining variables in a matrix
table2matrix

Convert a table with counts to a matrix or data.frame representing those counts.
scrub

A utility for basic data cleaning and recoding. Changes values outside of minimum and maximum limits to NA.
sim

Functions to simulate psychological/psychometric data.
Tal_Or

Data set testing causal direction in presumed media influence