Includes marginal maximum likelihood estimation and joint maximum
likelihood estimation for unidimensional and multidimensional
item response models. The package functionality covers the
Rasch model, 2PL model, 3PL model, generalized partial credit model,
multi-faceted Rasch model, nominal item response model,
structured latent class model, mixture distribution IRT models,
and located latent class models. Latent regression models and
plausible value imputation are also supported. For details see
Adams, Wilson and Wang, 1997 ,
Adams, Wilson and Wu, 1997 ,
Formann, 1982 ,
Formann, 1992 .
Test Analysis Modules
If you use TAM and have suggestions for improvement or have found bugs, please email me at [email protected].
CRAN version
The official version of TAM is hosted on CRAN and may be found here.
The CRAN version can be installed from within R using:
utils::install.packages("TAM")
GitHub version
The version hosted here is the development version of TAM.
The GitHub version can be installed using devtools as:
ADDED * included lasso and ridge penalties in basis expansion
approach for semiparametric item response modeling in
tam.np()
NOTE * exported utility function IRT.RISE()
NOTE * included S3 methods anova() and logLik() for tam.np()
NOTE * included additional check of 'constraint' argument in
tam.mml() and tam.mml.mfr() which now also allows
inputs 'case' and 'item'
(due to a discussion with Fabian Fuentealba Munoz and
Eng Yeoh)
NOTE * included IRT parameterization of item parameters in
summary output and in output value list ('item_irt')
(requested by Markus Buehner)
NOTE * included an example (Example 27) of matching IRT
parameterization with TAM parameterization
(requested by Ana Minguez)
NOTE * corrected number of estimated parameters in GPCM when
elements of the B matrix are fixed (thanks to Ana Minguez)
FIXED * fixed a bug in tam.mml.3pl() when number of categories
differ between items (thanks to Boris Girnat)
FIXED * fixed numerical instabilities in latent regression
models caused by variables with very different
standard deviations. Replaced MASS::ginv() by the
internal function tam_ginv_scaled() which is now
exported (thanks to Simon Grund).
NOTE * renamed weighted_curtosis() into weighted_kurtosis()
NOTE * fixed a bug in plot.tam() when response data with
completely missing observations for some persons is
used (thanks to Kow Kuroda)
VERSIONS TAM 2.13 | 2018-09-30 | Last: TAM 2.13-15
NOTE * fixed a bug in output of standardized coefficients for
multidimensional IRT models
ADDED * included function tam.np() for nonparametric estimation
of unidimensional item response models
NOTE * added S3 method IRT.residuals() for objects of class
'tam.jml' (suggested by Matthew Courtney)
NOTE * tamaan() cannot process item names with underscore "_"
included. This is now included as an error message for
the user (reported by Boris Girnat).
NOTE * renamed tam.jml.WLE() into tam_jml_wle()
NOTE * now (again) export tam.mml.wle() (used in ?tam.linking)
(thanks to Boris Girnat)
VERSIONS TAM 2.12 | 2018-05-25 | Last: TAM 2.12-18
ADDED * added "quick" standard error computation method for
fitted TAM models of class 'tam.latreg' in tam.se()
using helper function tam_latreg_se_quick()
(thanks to Yuan-Ling Linda Liaw)
FIXED * fixed a bug in tam.wle() which was introduced due to
changes in TAM 2.11 (thanks to Anna Scharl)
NOTE * added utility functions tam_max_abs() and
tam_max_abs_list()
DATA * included/modified datasets: ---
EXAMP * included/modified examples: ---
VERSIONS TAM 2.11 | 2018-05-02 | Last: TAM 2.11-93
FIXED * fixed a bug in tam.pv.mcmc() when almost singular
predictor matrices are used (thanks to Florian Keller)
NOTE * included argument 'calc_ic' in tam.pv.mcmc()
NOTE * included argument 'groups_by_item' in plot.tam()
function (thanks to Laura Helbling)
NOTE * changed behavior of 'verbose' argument in tam.mml(),
tam.mml.2pl(), ... functions when it is called in
other functions (thanks to Hansjoerg Plieninger)
NOTE * moved some parts of the M-step computations in
tam.mml.2pl() and calculation of probabilities to Rcpp
VERSIONS TAM 2.10 | 2018-03-29 | Last: TAM 2.10-24
FIXED * fixed problems of numerical overflow in tam.pv.mcmc()
(thanks to Domenico Angelone and Florian Keller)
NOTE * handled non-vector input for 'theta' in tam.wle() with
tam.jml() values (thanks to Andres Alberto Burga Leon)
NOTE * changed default in plot.tam() to 'fix.devices=TRUE'
(communicated by David Torres Irribarra)
NOTE * included Example 25 in ?tam.mml which illustrated
different GPCM parametrizations in the TAM, mirt and
ltm package
NOTE * exported tam.jml.fit() function
ADDED * added tam.personfit() function
NOTE * updated documentation ?IRT.itemfit. Use now the label
RMSD statistic instead of RMSEA fit statistic.
NOTE * included ECV statistic in tam.fa() function
NOTE * columns with NAs are now omitted from tam.ctt()
(thanks to Hiroyuki Yamada)
NOTE * compute pseudoinverse matrix of covariates in latent
regression model to allow estimation in case of
multicollinearity
NOTE * avoided error in tam.pv() when the prior only has zeroes
in a row
NOTE * included class-specific item averages in summary output
of tamaan() function for methods LCA, LOCLCA and OLCA
NOTE * compute correct number of parameters with non-identified
located latent class models (LOCLCA) in tamaan(). The estimation
is conducted without constraints, but one non-identified parameter
will be subtracted.
ADDED * included standardized regression coefficients and explained
variance in output for functions tam.mml(), tam.mml.2pl(),
tam.mml.mfr() and tam.latreg() with value 'latreg_stand'
(suggested by Jana Gross Ophoff)
NOTE * renamed tam.mml.se() into tam_mml_se_quick()
NOTE * included argument 'item_pars' in tam.se() which indicates whether
standard errors should be computed for item parameters
(suggested by Karoline Sachse)
NOTE * included argument 'stringsAsFactors' in tampv2datalist()
DATA * included/modified datasets: ---
EXAMP * included/modified examples: ---
VERSIONS TAM 2.8 | 2017-11-16 | Last: TAM 2.8-21
FEATURES:
include individual class probabilities as an output value
'ind_classprobs' in tamaan() (thanks to Rudolf Debelak)
BUG FIXES:
fixed a bug in tam.mml.3pl() for models with stochastic
nodes (thanks to Bodo Eickhorst and Hansjoerg Plieninger)
fixed a bug with 'verbose' input of 'T' or 'F'
(thanks to Hansjoerg Plieninger)
fixed a bug in tamaan() with latent classes estimation
which was recently introduced due to other bug fixes
fixed a problem causing a warning message in multiple
group models (thanks to Hon-Jang Yang)
NOTES:
added an example (tam.mml(), Example 20, Model 2) for
conversion of design matrices of multidimensional partial
credit models from tam.mml() into tam.mml.3pl()
(created by Hansjoerg Plieninger)
allowed stochastic integration and Quasi Monte Carlo
integration for multiple group models in tam.mml.3pl()
(suggested by Hansjoerg Plieninger)
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
tam.mml (20.2)
VERSIONS TAM 2.7 | 2017-10-19 | Last: TAM 2.7-56
FEATURES:
included option for providing initial theta values in
tam.pv.mcmc()
BUG FIXES:
fixed a bug in tam.pv.mcmc() which was recently introduced
with an updated version of the CDM package
fixed a bug in tam.pv.mcmc() which caused a crash when only
one plausible values is requested
fixed a bug in output of variance matrices in tam.pv.mcmc()
included residual correlation matrices in output of
tam.pv.mcmc()
fixed a bug in tam.latreg() caused by subfunction
tam_mml_create_nodes() (thanks to Tom Benton)
fixed a bug in tamaan() (and tam.mml.3pl()) caused by
tam_mml_create_nodes() (thanks to Markus Buehner)
fixed a bug in tam.mml.wle2() when submitting a new dataset
(thanks to Plamen Mirazchiyski)
NOTES:
included residual variances and correlations in summary
output of tam.pv.mcmc()
added argument 'subtract_max' in tam_irf_3pl()
calculation of item response probabilities for tam.pv.mcmc()
now takes place in Rcpp, some speed improvement
exported utility functions add.lead(), tam_bayesian_bootstrap(),
tam_cov_wt() and tam_cor_wt()
included two options for Bayesian bootstrap (Rubin, 1981) in
tam.pv.mcmc(): sampling of case of probabilities and sampling
of cases (which corresponds to sampling of integers)
exported utility functions tam_round_data_frame(),
tam_round_data_frame_print(), tam_osink(), tam_csink() and
tam_ginv()
included argument 'file' in summary.msq.itemfit()
included argument 'select' for weighted statistics (e.g., in
weighted_mean(), weighted_sd(), ...)
included argument 'verbose' in tam.pv()
included argument 'as_mids' in tam.pv() which allows to convert
the set of plausible values into an object of class mids for
analysis in the mice package.
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
tam.pv (1)
VERSIONS TAM 2.6 | 2017-08-10 | Last: TAM 2.6-2
FEATURES:
BUG FIXES:
NOTES:
set 'dontrun' to example 1 of 'tam.latreg' because the CRAN
check failed
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
VERSIONS TAM 2.5 | 2017-08-08 | Last: TAM 2.5-14
FEATURES:
BUG FIXES:
argument 'progress' was disabled due to changes in last TAM
version and has been fixed (thanks to Sebastian Weirich)
NOTES:
replaced MASS:mvrnorm by mvtnorm::rmvnorm in functions in
the TAM package. Removed MASS package from 'Imports'.
Moved GPArotation, lattice, lavaan, plyr, psych and
WrightMap packages from 'Imports' to 'Suggests'.
included utility function 'require_namespace_msg'.
included d values in output of 'tam.linking'
exported utility function 'tam_dmvnorm'
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
VERSIONS TAM 2.4 | 2017-06-30 | Last: TAM 2.4-9
FEATURES:
included multidimensional plausible value imputation with
multivariate normal approximation of the posterior distribution
BUG FIXES:
fixed a recently introduced bug in 'tam.wle' since TAM 2.2
(thanks to Mark Dulherty). The function 'tam.mml.wle' is not
exported anymore.
NOTES:
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
VERSIONS TAM 2.3 | 2017-06-25 | Last: TAM 2.3-18
FEATURES:
included S3 method 'IRT.frequencies' for computing univariate
and bivariate observed and expected frequencies (thanks to a
suggestion by Rudolf Debelak)
BUG FIXES:
fixed a bug in 'tam.linking' (thanks to Sandra Preusser)
NOTES:
set argument 'beta.fixed' to FALSE as the default in 'tam.latreg'
added 'print' method for 'tam.linking'
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
IRT.frequencies (1), tam.linking (3)
VERSIONS TAM 2.2 | 2017-06-17 | Last: TAM 2.2-49
FEATURES:
included function 'tam.pv.mcmc' which allows drawing plausible
values based on fully Bayesian estimation. A recommendation for
using 'tam.pv.mcmc' in case of stochastic nodes is now
displayed in 'tam.pv'. TAM now depends on the coda package for
analyzing the MCMC output.
included linking methods Stocking-Lord and Haebara in the
functions 'tam.linking' and 'tam_linking_2studies'
BUG FIXES:
fixed a recently introduced bug in estimating models with
stochastic nodes in TAM functions
(thanks to Boris Girnat, Steffen Wild and Reg Allen)
NOTES:
exported utility functions 'tam_interval_index' and
'tam_rowCumsums'
disabled argument 'normal.approx' for multidimensional models
in 'tam.pv' because it is not properly working
allowed nonnumeric person identifiers for matching
in 'tampv2datlist' function (thanks to Stefan Behrendt)
restructured 'tam.mml.wle' and 'tam.mml.wle2' functions. Now,
WLEs can also be estimated without fitting the model in TAM
(see Example 1 in ?tam.wle).
included a summary method for 'tam.wle'. In addition, more
descriptive output is computed as values in 'attr(object, ...)'
in 'tam.wle'.
fixed bug in 'IRT.informationCurve' when only one item is used
(thanks to Asghar Minaei)
changed the default of the argument 'est.variance' to TRUE in
'tam.mml' and 'tam.mml.mfr'
included optional control argument 'trim_increment' in
argument list 'control' in 'tam_foo' functions which allows
the user to choose between two methods 'half' and 'cut' for
reducing the size of increments
internal restructure of the main functions
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
VERSIONS TAM 2.0 | 2017-04-12 | Last: TAM 2.0-37
FEATURES:
extended multiple group models to multidimensional IRT
models in 'tam.mml.3pl' (see Example 1.9)
BUG FIXES:
fixed a bug in 'tam.mml.3pl' with option skillspace='normal'
and estimated means (i.e., means not fixed to zero)
fixed a bug in handling multiple groups in 'tam.mml.3pl'
(thanks to Laura Zieger)
NOTES:
changed calculation of item response probabilities to avoid
numerical overflow
removed dependencies to the packages msm and tensor
included example for extracting posterior probabilities in
Rasch mixture models (requested by Ling Liaw)
changed order of items in output of value 'item' in 'tam.mml.mfr'
exported utility functions 'tam_packageinfo', 'tam_print_call' and
'tam_rsessinfo' for usage in other packages
added 'logLik' method for objects of class 'tam.jml'
moved function 'tam.jml2' into 'tam.jml' (now available as the
default with argument 'version=2')
VERSIONS TAM 1.99999 | 2017-03-02 | Last: TAM 1.99999-31
FEATURES:
BUG FIXES:
removed adjustment for WLE estimation of extreme scores in
'adj' in 'tam.wle'. Now, WLE estimation in TAM should be
equivalent to ConQuest software, sirt::IRT.mle and
mirt::fscores. The adjustment 'adj' is only applicable for
MLE estimation in 'tam.wle'. The WLE estimation of the recent
TAM version is equivalent to 'adj=0' of previous TAM versions.
NOTES:
restructured Rcpp functions
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
CHANGES IN VERSION 1.99993 (2017-02-06) -- CRAN 1.99993-0
FEATURES:
BUG FIXES:
changed handling of item names in 'tam.mml.mfr' back to
TAM 1.995-0 version (problem communicated by Barth Riley)
fixed a bug in 'tam.mml.2pl' for irtmodel='GPCM.design' with
provided design matrices for item slopes
(thanks to Matthias Trendtel)
NOTES:
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
CHANGES IN VERSION 1.99992 (2017-01-23) -- CRAN 1.99992-0
FEATURES:
BUG FIXES:
fixed incorrect handling of item renaming in 'tam.mml.mfr'
(thanks to Barth Riley)
fixed a bug in calculation of p values in 'tam.fit'
(thanks to David Torres Irribarra)
fixed a bug in 'IRT.simulate' with used argument 'nobs'
(thanks to Mark Dulhunty)
the fixing of the random seed within the 'tam.fit' function
is removed (thanks to Sebastian Weirich)
fixed crucial bug in 3PL estimation in 'tam.mml.3pl' function
(thanks to Petra Kleiber)
NOTES:
stop estimation in 'tam.jml' (and 'tam.jml2') if there are persons
with only missing item responses (communicated by Ricardo Primi)
included standard errors for constrained parameters in 'tam.mml.mfr'
similar to the software ConQuest software
(requested by Florian Keller und Domenico Angelone)
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
CHANGES IN VERSION 1.995 (2016-05-31) -- CRAN 1.995-0
FEATURES:
BUG FIXES:
fixed a bug in 'tam.fit' when proving a fit matrix F with
missing labels (thanks to Maxim Morin)
NOTES:
included argument 'version' in 'msq.itemfit'. Another Rcpp
implementation (version=2) of the fit calculation has been
added which avoids the storage of memory intensive objects
(previous function; version=1). Additionally, a pure
R function of calculating fit can be requested using
version=3 (thanks to Frank Musekamp).
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
CHANGES IN VERSION 1.99 (2016-04-15) -- CRAN 1.99-6
FEATURES:
BUG FIXES:
fixed a bug in 'tam.wle' which occured if some persons were
eliminated from the analysis
fixed a recently induced bug in 'tam.wle' estimation of
multidimensional models (thanks to Sascha Bernholt)
NOTES:
DATASETS INCLUDED OR MODIFIED:
EXAMPLES INCLUDED OR MODIFIED:
CHANGES IN VERSION 1.17 (2016-03-11) -- CRAN 1.17-0
FEATURES:
included function 'IRTLikelihood.ctt' which computes the
individual likelihood under classical test theory and
normally distributed measurement errors
BUG FIXES:
fixed a bug in plausible value imputation 'tam.pv' in case
of 'normal.approx=FALSE' (thanks to Matthias Trendtel)
fixed a bug in plotting 'png' files in 'plot.tam'
(thanks to Rainer Alexandrowicz)
fixed a bug in calculating standard errors with only one
estimated xsi parameter
fixed a crash in 'tam.jml2'
fixed a bug in 'tam.wle' when using the argument 'score.resp'
NOTES:
included Example 24 for specifying sum constraints in partial
credit models (requested by Chen-Wei Liu)
output of 'tam.wle' is now an object of class 'tam.wle'.
A print method for this class is defined.
WLE reliability in 'tam.wle' is now calculated by taken
sample weights 'pweights' into account
included Example 11 of 'tam.mml.3pl' with mixed item
response format (thanks to a correspondence with Andreas Seifert)
included utility functions for weighted statistics 'weighted_Stats'
included utility functions 'WLErel' and 'EAPrel' for computation of
WLE/EAP reliability
added 'print' methods for tam classes ('tam.mml', 'tamaan', ...)
added S3 methods 'Scale' and 'DescribeBy'. The application of these
methods to object classes will be included in future TAM versions.
CHANGES IN VERSION 1.16 (2016-01-31) -- CRAN 1.16-0
Features:
Bug fixes:
fixed a crucial bug in estimation of 'tam.mml.2pl',
irtmodel='GPCM.design'
Notes:
included a warning message in 'IRT.truescore' when
not all values in the theta grid can be computed
cleaned namespace file and defined imported functions
in a more explicit way
included argument 'Q' in 'IRT.truescore' function which
allows for computation of weighted true scores
(thanks to David Sichau)
fixed a bug in 'tam.mml.2pl' with irtmodel='GPCM.design'
in case of blank categories
Datasets included or modified:
Examples included or modified:
IRT.truescore (2)
CHANGES IN VERSION 1.15 (2015-12-15) -- CRAN 1.15-0
Features:
Bug fixes:
fixed a bug in postprocessing of parameter names in 'tam.mml.mfr'
with the option "constraint='items'"
avoided NA entries in posterior calculation in 'tam.mml' and
'tam.mml.2pl'
Notes:
corrected output of likelihood when minimum value was not
obtained in last iteration
changed behavior of parameters 'max.increment' and 'increment.factor'
in 'tam.mml.mfr' which should result in more stable deviance
behavior
included attributes 'pid' and 'pweights' in 'IRT.likelihood' and
'IRT.posterior'
included optional argument 'gamma.init' for 'tam.mml.2pl' and
irtmodel='GPCM.design'
included argument 'item.elim' in 'tam.mml', 'tam.mml.2pl' and
'tam.mml.3pl' which prevents the omission of items with a
maximum score of zero (suggested by Anja Mikolajetz)
changed output of 'pweights' to original provided person weights,
not the transformed person weights
Datasets included or modified:
Examples included or modified:
CHANGES IN VERSION 1.14 (2015-10-15) -- CRAN 1.14-0
Features:
Bug fixes:
fixed a bug in creating design matrices with more than 9 levels
of a factor in a facet for facet models with items with
varying number of categories
fixed a recently introduced bug in 'tam.pv' which occured due
to a change in the list of arguments in auxiliary function
'stud_prior.v2' (thanks to Florian Gigl)
Notes:
Datasets included or modified:
Examples included or modified:
CHANGES IN VERSION 1.13 (2015-08-29) -- CRAN 1.13-0
Features:
Bug fixes:
fixed a recently introduced bug in TAM 1.12-0 when
creating the item parameter table
Notes:
extended value 'item' to output of category 0 if design
matrices put values on zero categories
Datasets included or modified:
Examples included or modified:
tam.mml (23)
CHANGES IN VERSION 1.12 (2015-08-27) -- CRAN 1.12-0
Features:
Bug fixes:
fixed a recently included bug (in TAM 1.11-0) in
'tam.mml.3pl' estimation when guessing parameters are
estimated (thanks to Rolf Strietholt and Laura Zieger)
Notes:
Datasets included or modified:
Examples included or modified:
CHANGES IN VERSION 1.11 (2015-08-11) -- CRAN 1.11-0
Features:
Bug fixes:
fixed a recently included bug in TAM 1.10-0 in calculation
of deviance in 'tam.mml.2pl', 'tam.mml.3pl' and 'tam.mml.3pl'
(thanks to Christopher Gess)
fixed a recently included bug in TAM 1.9-0 in estimation
of models with estimated means of latent trait
(thanks to Frank Musekamp)
Notes:
included guessing parameters and its standard errors in
output of 'tam.mml.3pl' ('guess' and 'se.guess')
Datasets included or modified:
Examples included or modified:
CHANGES IN VERSION 1.10 (2015-07-25) -- CRAN 1.10-0
Features:
added simulation function 'IRT.simulate'
added function 'IRT.truescore' which converts theta
scores into true scores
Bug fixes:
fixed a bug in calculation of expected counts
Notes:
included argument 'dev_crit' in 'control' in tam
functions which allows a decision whether change in
absolute deviance difference (dev_crit="absolute")
or in relative deviance differences (dev_crit="relative")
should be assessed.
extended 'IRT.itemfit' S3 method to objects of classes
generated in TAM (suggested by Karoline Sachse)
included item-wise calculation of thresholds according
to Ali, Chang and Anderson (2015) suggestion in
'IRT.threshold'
included accelerators of the EM algorithm according to
Ramsay (1975) and Yu (2012). In the recent TAM package
version, no acceleration is used as an default.
Bug fixes:
Fixed recently broken 'tam.mml.3pl' function when the
design matrix E is used.
Notes:
small speedup for large samples of students in
unidimensional models
Datasets included or modified:
Examples included or modified:
tam.mml (21,22)
CHANGES IN VERSION 1.8 (2015-06-26) -- CRAN 1.8-0
Features:
added S3 method 'IRT.informationCurves' for computing
item and test information curves (suggested by Ray Opao)
Bug fixes:
fixed a crucial bug in 'tam.mml.3pl' for mixed dichotomous
and polytomous data occur and guessing parameters
are estimated (thanks to Matthias Trendtel)
Notes:
added the argument 'Q.fixed' in 'tam.mml.3pl' for usage
of fixed item loadings
small speedup in M-step for datasets with large number of items
included function 'IRT.drawPV' for drawing plausible values
based on individual posterior (output of 'IRT.posterior')
Bug fixes:
fixed a bug for input of a B loading matrix with no item labels
fixed a bug in 'plot.tam' with missing data in item responses
(bug fix provided by Michal Modzelewski)
corrected an included bug in recent TAM versions in AIC
calculation (thanks to Simon Grund)
fixed a bug in variance fixing in 'tam.fa' which occured in a
recent TAM version due to changes in defaults in 'tam.mml.2pl'
fixed a bug when constraining of item parameters was ignored
in 'tamaan' (thanks to Stefan Behrendt)
Notes:
speeded data/design matrix preparation phase in 'tam.mml.mfr'
included internal function 'tamcat' for analyzing computation time
changed numerical behavior in 'tam.mml.mfr' in order to avoid a zero sum
of all individual posterior probabilities (thanks to Roman Freunberger)
included argument 'xsi.setnull' in 'tam.mml.mfr' for convenient
fixing of xsi parameter groups. A warning is now given if the
combination of person and facet identifiers is not unique.
allowed also explicit use of facets without effects in 'tam.mml.mfr'
on 'formulaA', e.g. 'itemstep + 0rater' sets all rater effects
to zero
included warning in 'tam.wle' if the WLE is (possibly) not estimable
(suggested by Rainer Alexandrowicz)
included S3 methods 'IRT.expectedCounts', 'IRT.modelfit',
'predict' and 'IRT.data' for fitted models in TAM
included item fit statistic on item level 'msq.itemfit'
as an alternative to the simulation based 'tam.fit' function
included linear approximation for confirmatory factor analysis
'IRT.linearCFA'
Bug fixes:
fixed a bug in plausible value imputation in multidimensional
models and normal approximation (reported by Dan Su)
changed resp in output of 'tam.mml', 'tam.mml.2pl' and
'tam.mml.3pl' to output the original used data with missings
(thanks to Matthias Trendtel)
extended tam.modelfit to handle multi matrix design appropriately
changed defaults in 'est.variance' if 'variance.fixed' is provided
in 'tam.mml.2pl'. The previous default led to bugs in the
tamaan function. (reported by Christoph Duchhardt)
Notes:
added output values 'xsi.fixed.estimated', 'B.fixed.estimated'
for default item parameter fixings in tam.mml, tam.mml.2pl,
tam.mml.mfr and tam.mml.3pl (suggested by Matthias Trendtel)
extended tan.modelfit function for more flexible input to
allow for assessing model fit for objects which were not
fitted in TAM ('tam.modelfit.IRT', 'tam.modelfit.args')
added 'IRT.likelihood' and 'IRT.posterior' S3 method for
object of class 'tam.latreg'
extended 'plotctt' and 'plot.tam' the using graphics package
in addition to lattice (suggested by Michal Modzelewski)
included function for computing Thurstonian thresholds ('IRT.threshold')
included function 'cfa.extract.itempars' for extracting
item parameters from a fitted confirmatory factor analysis
with the cfa function in lavaan package
included the function 'IRTLikelihood.cfa' for extracting
the individual likelihood from fitted confirmatory factor
analyses
included an S3 method 'IRT.WrightMap' which is a wrapper
to the WrightMap package
Bug fixes:
fixed a bug for item response dataset with only one column
fixed a bug in tamaan function when applied to TYPE="TRAIT"
and models without guessing parameters
fixed a bug in plot.ctt function for input of item response
data with only one columns (thanks to Michal Modzelewski)
Notes:
added item types 'PCM(kk)' and 'GPCM(kk)' for smoothing
item intercepts in tamaan() function
included a summary method for 'tam.fit'
included 'MEASERR' convenience method for single indicators
with measurement errors in 'lavaanify.IRT'
changed some internal handling in 'lavaanify.IRT' due to
announced changes in lavaan 0.5-18 in 'lavaanify'
changed equality constraints in the section "MODEL CONSTRAINT"
in 'tamaanify' to the usage of "==" instead of "=" (as in lavaan)
included option for sum constraints on item intercepts
(constraint="items") in 'tam.mml'.
For polytomous data, this option automatically specifies
irtmodel="PCM2".
included truncated normal prior distributions for
gammaslope parameters in 'tam.mml.3pl'
included 'tamaan' and 'tamaanify' functions for more
more convenient model specifications in TAM
included 'doparse' function as a shortcut for writing
loops in model syntax
included item-category specific curves in 'plot.tam' using
the argument type="items" (suggested by Cheng-Hsuan Li and
Michal Modzelewski)
plot function for type="items" now also works for multidimensional
item response models with between item dimensionality
included normal approximation and sampling of regression
coefficients for plausible value imputation ('tam.pv') for
multidimensional item response models.
The theta grid can also be fixed (argument theta.model=TRUE)
and is taken from the fitted model.
included the function 'tampv2datalist' for converting plausible
values and a set of covariates into a list of multiply imputed
datasets
included the function 'tam.latreg' which performs a latent
regression model in which only the individual likelihood is
needed as an input
Bug fixes:
corrected algorithmic stopping criteria in 'tam.mml.3pl'
fixed a bug in 'tam.mml.2pl' when design matrix B.fixed
for fixed loadings contains only one row
another bug was fixed by Michal Modzelewski in data preparation
in the multi-facet function 'tam.mml.mfr'
fixed a bug in estimation routines if a dataset resp is provided
without column names (thanks to Alec Nyce)
Notes:
included parametrization of mean item intercept (irtmodel="PCM2")
in output of tam.mml and tam.mml.2pl (value item$xsi.item)
included nonlinear terms in lavaan syntax in 'lavaanify.IRT'
included option for initial delta parameters in 'tam.mml.3pl'
added AIC3 information criterion in summary
included datasets data.geiser and data.janssen for latent
class analysis and mixture Rasch analysis (thanks to
Christian Geiser and Anne Janssen)
included Example 3 in 'tam.wle' comparing WLE person parameter
estimates from the TAM and the PP package
included Example 3 in 'tam.threshold' for creating Wright maps
with the WrightMap package
included fit of constrained facet parameters for output
of 'tam.mml.mfr'
included extended lavaan syntax 'lavaanify.IRT'. This
function was previously included in sirt package as
'lavaanify.sirt'.
added argument 'gammaslope.center' in 'tam.mml.3pl' for
centering item parameters within iterations in estimation
included an argument of fixing person parameters in 'tam.jml'
(see tam.jml, Example 1)
added S3 methods for fitted models in TAM:
'logLik', 'IRT.likelihood', 'IRT.posterior', 'IRT.irfprob',
'IRT.factor.scores'. These S3 methods were defined in the
recent version of the CDM (>= 4.0) package.
Bug fixes:
improved model identification in 'tam.mml.mfr' in case
of differing number of categories per item and fixed
a bug in creating the A matrix (thanks to Michal Modzelewski).
fixed a miscount of number of estimated parameters in
multiple group models (thanks to Michal Modzelewski).
fixed incorrect handling of irtmodel="PCM2" in 'tam.mml'
for multidimensional models (thanks to Chen-Wei Liu)
fixed a bug in 'tam.jml2' when some item parameters were
fixed with the xsi.fixed argument
fixed a bug in fit calculation for tam.jml objects
(thanks to Hillary Ferral)
Notes:
included Rcpp based version of item fit calculation to
reduce computational time
changed calculation of tam.fit in case of missing item responses
which substantially changes fit statistics especially for
faceted models.
changed handling of simulating abilities in 'tam.fit'
included p values in output for fit statistics in 'tam.fit'
included estimation of Thurstonian thresholds for multidimensional
models
added an example of a 2PL mixture distribution IRT model with
two latent classes (tam.mml.3pl, Simulated Example 8)
changed summary layout in 'tam.mml.3pl'
made item parameter estimation in 'tam.jml' more computationally
efficient
added anova method for 'tam.mml.3pl'
added value of the individual likelihood in 'tam.mml',
'tam.mml.2pl' and 'tam.mml.3pl'
Datasets included or modified:
rating dataset data.exJ03 (provided by Matt Barney)
added user defined variance function in tam.mml and
tam.mml.2pl
added user defined constraints on slope parameters
in 'tam.mml.3pl'
Bug fixes:
fixed a bug in deviance computation in 'tam.mml.3pl' when
stochastic nodes are used
(hopefully) fixed computational problems in multidimensional models
with nearly singular covariance matrix
(thanks to a discussion with Johannes Hartig)
Notes:
added a plot function 'plot.ctt' accompanying the classical test
theory based statistic
fixed a bug in creation of design matrices in faceted models with
differing categories per item (thanks to Michal Modzelewski).
Note that the treatment of faceted models is still not compatible
with other software (like ConQuest). A substantial bug fix
is planned in future TAM relaeses.
Datasets included or modified:
data.ctest1 (thanks to HGP)
Examples included or modified:
tam.fit (4), tam.mml (17), tam.ctt (1)
CHANGES IN VERSION 1.0-3.18 (2014-09-08) -- CRAN 1.0-3.18-1
Bug fixes:
modified incorrectly calculated thresholds with 'tam.threshold'
for multidimensional models (reported by Janine Buchholz and
Joerg-Henrik Heine)
Notes:
included SRMSR fit statistic in tam.modelfit
included argument "Nsimul" in "tam.fit" which improves
calculation of fit statistics
CHANGES IN VERSION 1.0-3 (2014-06-27) -- CRAN 1.0-3
Features:
included model fit statistics (Q3, SRMR, MADRESIDCOV): 'tam.modelfit'
included 'tam.mml.3pl' for 3PL estimation, general design
matrices for item slopes and options for discrete
latent variables (estimation of latent class models,
located latent class model, skew distributions,
mixed IRT models, cognitive diagnosis models, ...
is now possible)
extended tam.pv for objects of class 'tam.mml.3pl'
speeded data preparation of faceted models a bit
tam.se now computes standard errors for estimated slope parameters, B
(for irtmodel in c("2PL", "GPCM", "2PL.groups")); highly experimental
for irtmodel="GPCM.design").
plot.tam now prints a message about the location of the exported graphics.
plot.tam has a new argument 'items' for selecting the items to
be displayed. RD-file adjusted.
plot.tam has new arguments 'export.type="png"' and "export.args=list()" for
selecting the file type for the graphics export. The supported file types
are those supported by ?dev.new. The argument 'export.args=list()' is
for specifying a list of arguments for the export device method.
tam.threshold has a new argument prob.lvl to set the probability level of
the thresholds.
Bug fixes:
fixed a bug in pid output in object 'person' for multidimensional models
(thanks to Sebastian Weirich)
fixed a bug in variance estimation for multiple group 2PL models
included 'designMatrices.mfr2' for a provisional bug fix
for multifaceted models with differing number of categories
per item (see Example 16 in tam.mml; thanks to Christoph Duchhardt)
fixed a bug in 'tam.mml.mfr' for differing number of categories
per item -> now a xsi vector with parameter fixings to values
of 99 is used
plot.tam is debugged regarding the case of missing WLEs for some
person (thanks to Florian Buchwald).
plot.tam now doesn't throw a warning when the 'Plots' directory
already exists.
fixed a bug in plot.tam for cross-platform accordance (thanks to Uli Keller).
fixed a bug in tam.fit with missing item scores
fixed a bug in tam.jml so that ../Tutorials/6Population.htm now runs without
error.
Notes:
tam.fit is experimental for objects obtained from tam.mml.mfr.
changed convergence behavior in tam.wle (thanks to Peter Harych)
changed item sorting in output object 'item'
tam.mml(/.2pl/.mfr) methods now return Q, tam.mml.2pl additionaly returns
B.fixed, basispar, E, and est.slopegroups objects. RD-file adjusted.
tam.jml(/.jml2) do not return fit statistics anymore. Item and person fit can
be obtained by a call to tam.fit (/.jml.fit).
in case of multidimensional analyses, we recommend an update of
the R-package mvtnorm to version 0.9-99992 or higher.
extended example 13 in tam.mml.Rd to the case of polytomous longitudinal
data (requested by and thanks to Florian Buchwald)
extended example 6 in tam.mml.Rd to the specification of sum constraints
on the item parameters in a PCM model for differing number of categories.
Some minor changes in RD-files (eg., irtmodel for argument 'E' in
tam.mml.2pl is "GPCM.design", theta value in tam.jml is "MLE in final step").
CHANGES IN VERSION 1.0-2 (2014-03-26) -- CRAN 1.0-2 -- CRAN 1.0-2.1
fixed a Bug in the optional specification of a B matrix
in tam.mml.mfr
new faster tam.mml.wle2; included Rcpp helper functions for
tam.mml.wle2 for fast computation; tam.mml.wle2 new
reference in tam.wle for objects of class tam.mml, rd-file
adapted
tam.mml.mfr now accepts polytomous data with more than
ten categories per item
specification of response matrix in 'long format' fixed,
see example section (thanks to Takuya Yanagida)
some minor changes in usability (eg., pid can be specified as
vector, one-column matrix or data.frame)
CHANGES IN VERSION 1.0 (2014-02-02) -- CRAN 1.0-0 -- CRAN 1.0-1
updated DESCRIPTION and NAMESPACE due to changes in Rcpp
change in package maintenance: Thomas Kiefer is now
the package maintainer
fixed a bug in item labeling in tam.se
(thanks to Sebastian Weirich)
fixed a bug in labeling of reduced reponse matrices in
tam.mml.mfr
fixed some examples in .Rd files
CHANGES IN VERSION 0.91/0.99 (2013-11-02) -- CRAN 0.99-7
added 'AXsi_' as value in tam.mml, tam.mml.2pl and tam.mml.mfr
cleaned labels in 'tam.mml.mfr' for faceted models
included the argument 'score.resp' in tam.wle for scoring
a new dataset different than the one which is used for item
calibration in tam (requested by Jan Boehnke)
added examples for applying a sum constraint of item
parameters in 'tam.mml' (request by Kelvin Gregory)
included argument 'adj' in tam.jml/tam.jml2 for modifying
the adjustment in case of perfect scores (thanks to Courtney Castle)
included dataset 'data.timssAusTwn.scored'
included summary for tam.jml
use plausible values for calculation in item fit (in tam.mml.fit)
included an example for creation of user-defined fit statistics
CHANGES IN VERSION 0.9 (2013-10-13) -- CRAN 0.99-9
removed blanks in item category labels in tam.ctt2 and
tam.ctt3
allowed non-integer group labels
fixed a bug in data preparation for facet models
which appeared since a change in TAM 0.7
(thanks to Jonathan Williams)
CHANGES IN VERSION 0.8 (2013-10-02) -- CRAN 0.8-19
changed rating scale parametrization for unequal
number categories per item
included a warning in tam.ctt2 if memory allocation is
reached
included deviance plot 'plotDevianceTAM'
(thanks to Sebastian Weirich)
included tam.ctt3
CHANGES IN VERSION 0.7 (2013-09-15) -- CRAN 0.7-35
include crossprod in some functions
fixed a bug for using latent regression models in
facet model function 'tam.mml.mfr'
(thanks to Jonathan Williams)
included another facet example (Example 14)
fixed a bug in tam.mml.mfr if all facets possess
the same number of levels
fixed a bug in multidimensional generalized partial
credit model estimation and speeded 2PL estimation a bit
included bifactor model and exploratory factor analysis
-> function 'tam.fa' with arguments irtmodel='efa','bifactor'
now printing progress in tam.ctt2 correctly
fixed a bug in data processing in tam.mml.mfr for factor
or string input of facets
included more examples in tam.fit, anova.tam.mml, tam.pv,
tam.jml, tam.se, tam.wle
avoided inversion of singular matrices in multidimensional
WLE estimation tam.wle (thanks to Iasonas Lamprianou)
removed bugs for item response datasets with only one item
in tam.mml and tam.mml.2pl
fixed a bug in tam.ctt2: multiple groups were not displayed
included an option for deleting redundant generalized items
which sometimes improves computation speed
cleaned the TAM manual (thanks to Michaela Mayr)
changed output structure of tam.fa and included rotation
examples in tam.fa.Rd
included additional convergence stabilizing approach which
can be activated using the argument 'fac.oldxsi' in control
-> See Example 15 for such a non-converging model where
changing algorithmic defaults seems necessary
(problem addressed thanks to Sebastian Weirich)
substituted internal 'theta.sq' function by Rcpp based
function 'theta.sq2'
started with including examples similar to the ones in
the ConQuest 2.0 manual (see data.cqc.Rd)
CHANGES IN VERSION 0.6 (2013-08-28) -- CRAN 0.6-26
fixed a bug when in latent regression when providing a formula
in argument 'formulaY'
fixed a bug in output of tam.se (thanks to Sebastian Weirich)
included a faster alternative to tam.ctt -> tam.ctt2 is based
on a Rcpp function
allowed freeing beta constraints by the user by including
the possible argument beta.fixed=FALSE
removed a bug in data processing for faceted designs
(thanks to Michaela Mayr)
fixed a bug with varying string lengths of facet levels
fixed a bug in tam.ctt2 for numeric input matrices
fixed incorrect handling of constraints in regression coefficients
which was just included in a recent 0.6 version
fixed an output bug in tam.wle in multidimensional models
(thanks to Jan Henning-Kahmann)
accelerated estimation of multdimensional models (different
approach of calculating the prior distribution)
fixed a bug when submitting xsi.inits and beta.inits to tam
fixed a bug in facet models when a facet contains only one
element (twice thanks to Michaela Mayr)
included irtmodel='PCM2' (partial credit model with ConQuest
parametrization) and irtmodel='RSM' (rating scale model)
added a longitudinal data example in 'tam.mml' manual
CHANGES IN VERSION 0.5 (2013-07-28) -- CRAN 0.5-21
included data.ex11 example dataset
removed a bug in WLE calculation for multifaceted designs
avoided warning in cov2cor for tam.mml.2pl function
(thanks to Linda Graefe)
included argument increment.factor for obtaining
convergence behavior in bad suited data constellations
changed default of np.adj in tam.pv to 8
included two helper functions written in Rcpp in
plausible value imputation function tam.pv for
better performance
included S3 plot method
included data.numeracy and data.timssAusTwn datasets
CHANGES IN VERSION 0.4 (2013-07-01) -- CRAN 0.04-43
[*** First CRAN Release ***]
included quasi-Monte Carlo integration as an alternative
to stochastic integration
multifaceted model completely implemented
print warning if there are items in resp with only zeroes
(thanks to Ronny Scherer)
fixed a bug in tam.wle, tam.pv and tam.se
fixed a bug in creating design matrices for faceted designs
changed initial xsi values for indetermined parameters
(thanks to Sebastian Weirich)
included function for calculating Thurstonian thresholds
included Rcpp function in M step for calculating item parameters
fixed a bug for partial credit models
included parametrization of the dispersion model for ordered data
included a function tam.ctt for calculating some statistics
based on classical test theory
fixed a bug in tam.mml.2pl with irtmodel="GPCM" for models
with differering numbers of item categories
CHANGES IN VERSION 0.3 (2013-03-23)
cleaned Rd manual files a bit
included standard errors in tam.mml and tam.mml.2pl
included summary.tam and summary.tam.mml
included anova.tam for model comparisons
fixed a bug in multiple group estimation during tam.mml and
summary application
fixed a bug in WLE estimation in the multdimensional case
CHANGES IN VERSION 0.2 (2013-02-20)
removed bugs in tam.pv for sampling plausible values
with the argument normal.approx=FALSE
(thanks to Sebastian Weirich)
included seed for stochastic integration in the tam
control argument
fixed a bug in stochastic integration
(thanks to Steffen Brandt)
fixed a bug in the calculation of reliability and person
parameter estimates when applying stochastic integration
(thanks to Steffen Brandt and Caroline Just)
use estimated parameters with minimal deviance in the output
(thanks to Ulrich Schroeders and Steffen Brandt)
CHANGES IN VERSION 0.1-03 (2012-11-21)
2PL calibration outsourced
designMatrices and tam.mml.mfr method for multifacet rasch model
calibration included. Both highly experimental.
Examples for the calibration included, see help file of sim.mfr