o added a beta version of new function, ‘catsib()’, for computing CATSIB statistic (Nandakumar & Roussos, 2004) to detect DIF on items in CAT.
o added a new function, ‘est_mg()’, for the multiple group (MG) item calibration (Bock & Zimowski, 1997). The new function also supports the MG fixed item calibration (MG-FIPC) method (e.g., Kim & Kolen, 2016).
o added a new argument, ‘se’, in the ‘est_irt()’ function. If ‘se = FALSE’, the standard errors of the item parameter estimates are not computed.
o added a new argument, ‘fix.id’, in the ‘est_irt()’ function. When implementing the fixed item parameter calibration (FIPC), the fixed items can be specified by either of the ‘fix.loc’ or ‘fix.id’ arguments.
o updated the write.flexmirt()
function so that it can also create a “-prm.txt” file for flexMIRT software with multiple groups. The previous version only worked for a single group.
o updated the write.flexmirt()
function so that it can also create a “-prm.txt” file for flexMIRT software with multiple groups. The previous version only worked for a single group.
o added a new simulated data sets called simMG
with three multiple groups.
o resolved the issue occurred when fixing the item guessing parameters to a specific (e.g., 0.1) in the est_irt()
function.
o updated the est_irt()
function to estimate the population latent ability distribution only when all item parameters are fixed in a test using the fixed item parameter calibration (FIPC).
o fixed the est_irt()
function so that the log-likelihood, AIC, and BIC can be computed based on both the fixed- and freely estimated items when the FIPC is implemented. In the previous version, those valused were computed based on only freely estimated items.
o added a new argument of ‘item.id’ in the ‘est_irt()’ and ‘est_item()’ functions where a user can provide item IDs.
o added a new ‘rdif()’ function which computes RDIF statistics (Lim, Choe, & Han, 2022; Lim, Choe, Han, Lee, & Hong, 2021) for analyzing DIF.
o updated ‘plot.test.info()’ function so that (a) multiple item information functions can be displayed in one panel by setting ‘overlap = TRUE’ and (b) a plot of conditional standard error of estimation at a test level can be shown by setting ‘csee = TRUE’.
o updated ‘est_score()’ function to make it return NA values for examinees who have all missing responses.
o fixed an error of ‘est_score()’ function which occurs when an examinee has missing data for all polytomous items or dichotomous items (thanks to Craig Wells).
o fixed a few minor issues of ‘irtfit()’ function (thanks to Dimitrios Zacharatos).
o Updated ‘bring.flexmirt()’ function to read the empirical histogram of population distribution from “-prm.txt” file.
o Updated ‘run_flexmirt()’ function to run flexMIRT in which version is >= 3.6.
o Updated ‘est_item()’ function to produce a variance-covariance matrix for item parameter estimates.
o Added ‘vcov()’ method for ‘est_item’ function.
o Added ‘coef’, ‘logLik’ methods for ‘est_item’ function, and added ‘coef’, ‘logLik’, and ‘vcov’ methods for ‘est_irt’ function.
o Updated ‘est_irt’ and ‘est_item’ functions so that the argument of ‘verbose’ can suppress all messages of the parameter estimation progress.
o Updated ‘bring.flexmirt’ function by including a new argument of “rePrm.gpc”. In the previous version, the nominal model parameters in the flexMIRT parameter output file are reparameterized into the (G)PCM parameters when (G)PCM is fit to data by setting ‘rePrm = TRUE’. In the new version, however, the nominal model parameters are reparameterized into the (G)PCM slope/difficulty parameters only when ‘rePrm.gpc = TRUE’.
o Included a new function of ‘post_den’ to compute updated prior (a.k.a. posterior) densities of the latent ability distribution given a prior ability distribution, item parameters, and item response data.
o Updated ‘est_score’ function so that the standard errors of ability estimates can be computed using eigther the observed item information function or the expected item information (a.k.a. Fisher information) function when MLE, MLE with fence (MLEF), or MAP scoring method is used.
o Updated ‘est_irt’ function to compute the loglikelihood-based fit statistics of Akaike information criterion (AIC) and Bayesian information criterion (BIC).
o Updated ‘est_irt’ function to tally the number of freely estimated parameters taking the mean and variance parameters of the latent ability distribution into consideration when ‘fipc = TRUE’.
o Updated ‘est_irt’ function to suppress printing the observed data log-likelihood after each EM cycle using the argument of ‘verbose’.
o Fixed an error of the ‘est_irt’ function when only dichotomous items are used with ‘fipc = TRUE’. In that condition, an error message of “subscript out of bounds” was returned in the previous version. No error message is shown in the updated version. (thanks to Ahmet GUVEN)
o Fixed the ‘lwrc’ function so that it can return the probability results even when only a single theta value is used.
The package has been updated significantly in this verstion. In this version, I have:
o Updated ‘est_score’ function to estimate ability parameters much faster than the previous version of the function.
o Updated ‘est_irt’ and ‘est_item’ functions to estimate item parameters much faster than the previous version of the functions.
o Updated ‘test.info’ function to compute items infomation and test information much faster than the previous version of the function.
o Added an option to use a prior distribution of the item difficulty (or threshold) parameters in ‘est_irt’, ‘est_item’, and ‘llike_item’ functions.
o Solved unstable item parameter estimation of ‘est_irt’ and ‘est_item’ functions which occured when the scaling factor of ‘D’ is other than 1.0 and ‘use.aprior = TRUE’.
o Fixed an error which occured in the function ‘est_irt’ when the data set contains missing values and ‘fix.a.1pl = FALSE’.
o Included ‘summary’ method to summarize the IRT calibration results from ‘est_irt’ or ‘est_item’ objects.
o Included a new function of ‘getirt’ to extract various estimates results from ‘est_irt’ or ‘est_item’ objects.
o Fixed an error which happens when “DRM” is specified in the model name in the function ‘est_irt’.
o Included total computation time in the function ‘est_irt’.
o Changed the title of ‘irtplay’ package to “Unidimensional Item Response Theory Modeling”.
o Included a new function of ‘est_irt’ to fit unidimensional IRT models to mixture of dichotomous and polytomous item data using the marginal maximum likelihood estimation with expectation-maximization (MMLE-EM; Bock & Aitkin, 1981) algorithm.
o Included the fixed item parameter calibration (FIPC; Kim, 2006) approach, which is one of useful online calibration methods, in the function ‘est_irt’.
o Updated the documentation to explain how to implement the new function ‘est_irt’.
o Included well-known LSAT6 dichotomous response data set from Thissen (1982).
o Fixed a problem of inaccurate item parameter estimation in the function ‘est_item’ when a prior distribution of the slope parameter is used with a scaling factor other than D = 1.
o Updated the function ‘bring.flexmirt’ to read the item parameters of the generalized partial credit model when the number of score categories are two.
o Updated the function ‘est_score’ to find a smart starting value when MLE is used. More specifically, the smart starting value is a theta value where the log-likelihood is the maximum at the highest peak.
o Included the function ‘run_flexmirt’ to implement flexMIRT software (Cai, 2017) through R.
o Applied a prior distribution to the slope parameters of the IRT 1PL model when the slope parameters are constrained to be equal in the function of ‘est_item’.
o Fixed a problem of using staring values to estimate item parameters in the function of ‘est_item’.
o Fixed a non-convergence problem of the maximum likelihood estimation with fences (MLEF) in the function of ‘est_score’.
o Updated the description and introduction of the package.
o Updated the documentation to explain how to implement the function “est_item” in more detail.
o Updated the README.md file to explain how to implement the function “est_item” in more detail.
o Included the function ‘llike_score’ to compute the loglikelihood function of ability for an examinee.
o Updated the function ‘est_item’ to find better starting values for item parameter calibration.
o Updated the function ‘est_item’ to exclude items that contains no item response data during the item parameter estimation.
o Updated the function ‘est_item’ to count the number of item responses for each item used to estimate the item parameters.
o Updated the function ‘est_score’ to find better starting values when MLE is used.
o Updated the function ‘est_score’ to address NaNs of gradient values and NaNs of hessian values when MLE, MLEF, or MAP is used.
o Fixed a problem of the function ‘est_score’, which returned an error message when a vector of an examinee’s response data was used in the argument of ‘x’.
o Fixed a problem of the function ‘est_score’, which returned an error message when only one dichotomous item or one polytomous item was included in the item meta data set.
o Fixed a problem of the function ‘est_item’, which returned an error message when the inverse of hessian matrix is not obtainable.
o Included the ‘maximum likelihood estimation with fences scoring method (Han, 2016) in the function ’est_score’.
o Included the ‘inverse test characteristic curve (TCC)’ scoring method (e.g., Stocking, 1996) in the function ‘est_score’.
o Included the function ‘llike_item’ to compute the loglikelihood values of items.
o For the function ‘est_item’, default parameters of a-parameter prior distribution were revised
o Updated the function ‘est_item’ to find better starting values for item parameter calibration.
o Updated the function ‘est_score’ to estimate an ability in a brute force way when MLE or MAP fails to find the solution.
o Updated the function ‘irtfit’ to compute the likelihood ratio chi-square fit statistic (G2; Mckinley & Mills, 1985).
o initial release on CRAN