Learn R Programming

⚠️There's a newer version (1.42) of this package.Take me there.

mirt

Multidimensional item response theory in R.

Description

Analysis of dichotomous and polytomous response data using unidimensional and multidimensional latent trait models under the Item Response Theory 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.

Examples and evaluated help files are available on the wiki

Various examples and worked help files have been compiled using the knitr package to generate HTML output, and are available on the package wiki. User contributions are welcome!

Installing from source

It's recommended to use the development version of this package since it is more likely to be up to date than the version on CRAN. To install this package from source:

  1. Obtain recent gcc, g++, and gfortran compilers. Windows users can install the Rtools suite while Mac users will have to download the necessary tools from the Xcode suite and its related command line tools (found within Xcode's Preference Pane under Downloads/Components); most Linux distributions should already have up to date compilers (or if not they can be updated easily). Windows users should include the checkbox option of installing Rtools to their path for easier command line usage.

  2. Install the devtools package (if necessary). In R, paste the following into the console:

install.packages('devtools')
  1. Load the devtools package (requires version 1.4+) and install from the Github source code.
library('devtools')
install_github('philchalmers/mirt')

Installing from source via git

If the devtools approach does not work on your system, then you can download and install the repository directly.

  1. Obtain recent gcc, g++, and gfortran compilers (see above instructions).

  2. Install the git command line tools.

  3. Open a terminal/command-line tool. The following code will download the repository

code to your computer, and install the package directly using R tools (Windows users may also have to add R and git to their path)

git clone https://github.com/philchalmers/mirt
R CMD INSTALL mirt

Special Mac OS X Installation Instructions

In some reported cases XCode does not install the appropriate gfortran compilers in the correct location, therefore they have to be installed manually instead. This is accomplished by inputing the following instructions into the terminal:

curl -O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2
sudo tar fvxz gfortran-4.8.2-darwin13.tar.bz2 -C /

Licence

This package is free and open source software, licensed under GPL (>= 3).

Bugs and Questions

Bug reports are always welcome and the preferred way to address these bugs is through the Github 'issues'. Feel free to submit issues or feature requests on the site, and I'll address them ASAP. Also, if you have any questions about the package, or IRT in general, then feel free to create a 'New Topic' in the mirt-package Google group. Cheers!

Copy Link

Version

Install

install.packages('mirt')

Monthly Downloads

6,695

Version

1.35.1

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

December 8th, 2021

Functions in mirt (1.35.1)

LSAT6

Description of LSAT6 data
DiscreteClass-class

Class "DiscreteClass"
LSAT7

Description of LSAT7 data
M2

Compute the M2 model fit statistic
MDISC

Compute multidimensional discrimination index
MDIFF

Compute multidimensional difficulty index
MixedClass-class

Class "MixedClass"
MixtureClass-class

Class "MixtureClass"
DRF

Differential Response Functioning statistics
DTF

Differential test functioning statistics
Science

Description of Science data
Bock1997

Description of Bock 1997 data
SingleGroupClass-class

Class "SingleGroupClass"
DIF

Differential item functioning statistics
RMSD_DIF

RMSD effect size statistic to quantify category-level DIF
RCI

Model-based Reliable Change Index
createItem

Create a user defined item with correct generic functions
deAyala

Description of deAyala data
SIBTEST

Simultaneous Item Bias Test (SIBTEST)
SAT12

Description of SAT12 data
MultipleGroupClass-class

Class "MultipleGroupClass"
anova-method

Compare nested models with likelihood-based statistics
empirical_rxx

Function to calculate the empirical (marginal) reliability
PLCI.mirt

Compute profiled-likelihood (or posterior) confidence intervals
areainfo

Function to calculate the area under a selection of information curves
empirical_plot

Function to generate empirical unidimensional item and test plots
extract.group

Extract a group from a multiple group mirt object
extract.item

Extract an item object from mirt objects
bfactor

Full-Information Item Bi-factor and Two-Tier Analysis
averageMI

Collapse values from multiple imputation draws
gen.difficulty

Generalized item difficulty summaries
expected.item

Function to calculate expected value of item
imputeMissing

Imputing plausible data for missing values
expected.test

Function to calculate expected test score
coef-method

Extract raw coefs from model object
iteminfo

Function to calculate item information
draw_parameters

Draw plausible parameter instantiations from a given model
boot.mirt

Calculate bootstrapped standard errors for estimated models
boot.LR

Parametric bootstrap likelihood-ratio test
itemplot

Displays item surface and information plots
itemGAM

Parametric smoothed regression lines for item response probability functions
empirical_ES

Empirical effect sizes based on latent trait estimates
itemfit

Item fit statistics
fixedCalib

Fixed-item calibration method
extract.mirt

Extract various elements from estimated model objects
createGroup

Create a user defined group-level object with correct generic functions
fixef

Compute latent regression fixed effect expected values
fscores

Compute factor score estimates (a.k.a, ability estimates, latent trait estimates, etc)
estfun.AllModelClass

Extract Empirical Estimating Functions
expand.table

Expand summary table of patterns and frequencies
key2binary

Score a test by converting response patterns to binary data
logLik-method

Extract log-likelihood
mirtCluster

Define a parallel cluster object to be used in internal functions
mirt.model

Specify model information
mirt-package

Full information maximum likelihood estimation of IRT models.
likert2int

Convert ordered Likert-scale responses (character or factors) to integers
marginal_rxx

Function to calculate the marginal reliability
mdirt

Multidimensional discrete item response theory
lagrange

Lagrange test for freeing parameters
mirt

Full-Information Item Factor Analysis (Multidimensional Item Response Theory)
mod2values

Convert an estimated mirt model to a data.frame
mixedmirt

Mixed effects modeling for MIRT models
plot,MultipleGroupClass,missing-method

Plot various test-implied functions from models
personfit

Person fit statistics
print.mirt_df

Print generic for customized data.frame console output
poly2dich

Change polytomous items to dichotomous item format
print-method

Print the model objects
wald

Wald statistics for mirt models
vcov-method

Extract parameter variance covariance matrix
show-method

Show model object
simdata

Simulate response patterns
print.mirt_list

Print generic for customized list console output
print.mirt_matrix

Print generic for customized matrix console output
probtrace

Function to calculate probability trace lines
summary-method

Summary of model object
multipleGroup

Multiple Group Estimation
remap.distance

Remap item categories to have integer distances of 1
randef

Compute posterior estimates of random effect
thetaComb

Create all possible combinations of vector input
read.mirt

Translate mirt parameters into suitable structure for plink package
numerical_deriv

Compute numerical derivatives
testinfo

Function to calculate test information
traditional2mirt

Convert traditional IRT metric into slope-intercept form used in mirt
residuals-method

Compute model residuals