Changelog
Source:NEWS.md
mirtCAT 1.15
Added a
customStopfunction support todesigninput to allow custom termination of the CAT session. This can be used instead of returning NA in thecustomNextItemapproach (requested by @jian-an-chen and Johan Braeken)Changed
$terminated_sucessfullyto$GUI_terminated_sucessfullyto avoid confusion, and addedterminated_earlyelement topersonobjects to indicate whether the CAT termination criteria resulted in an early termination
mirtCAT 1.14
CRAN release: 2024-07-12
- The
shinyGUIlist’sforced_choiceglobal specification inmirtCAT()has now been deprecated in favor of including this information in thedfobject. This allows explicit selection of which items should be presented in a forced choice format (requested by Levent on the mirt-package forum)
mirtCAT 1.12
CRAN release: 2021-12-08
Added
designinformation to include the sequential probability ratio test for classification purposes. Currently limited to unidimensional models onlyFix Fisher information bug in unidimensional graded response model applications (reported by Felix Fischer)
New argument
df$HTMLOptionsadded to indicate whether theOptions.#inputs should be evaluated usingHTML()first and passed to the suitable constructor functions (requested by John Manacup)df$Timeris now printer for each respective item in the GUI, and if time runs out then the item is either replaced with an NA response or marked as “incorrect” if one or moreAnswerelements were present (requested by Morten Nordmo)
mirtCAT 1.10
CRAN release: 2020-07-10
Time remaining now reported in real-time, where now the last ten minutes of a GUI session prints the minutes and seconds remaining
Re-work the
updateDesign()function to more naturally move through the CAT session manually. Previous response and selected item arguments now replaced withnew_responseandnew_item, respectively, and example documentation updated to reflect this changeorderedandunorderedconstraints no longer stop in the middle of testlet set, thereby ignoring other stoping criteria (suggested by Christoph König)choiceNamesandchoiceValuesinputs required additional unnaming (reported by Ryan Kelley)Up to three attempts are allowed when users are required to provide a password (requested by Aron Fi)
createShinyGUI()now contains ahost_serverlogical argument to indicate whether the GUI is hosted on a remote server or locally. This triggers whethershiny::stopApp()should be executed upon completion (on servers this should be executed to avoid stopping the app when multiple users are active)previously provided
sessionNameargument now removed in favour of handling this feature in the back-end. This helped patch a bug related to multiple instances of the GUI on a single server (reported by Daniel Sommerhoff)thetas.startnow accepts a matrix input for simulations with different latent trait starting values. Note that this also will affect thestart_itemcriteria as well since the optimal first item will incorporate the new starting trait location (requested by Niek Frans)
mirtCAT 1.9.3
CRAN release: 2019-06-28
Added a element to
personobjects and results return from GUI version ofmirtCAT()calledclientData, which pertains to the character vector information from shiny’ssession$clientDatacomponent (requested by Felix Fischer and Daniel Sommerhoff)Allow multiple CAT session to be run during the same R session. This is primarily an update for users interested in hosting
mirtCATon a single server where multiple users can be processed at the same timeFix
design_elementsglobal dependency between objects (reported by Felix Fisher)
mirtCAT 1.8
CRAN release: 2018-10-22
default wrapper to
Questionselement indfinput now usesshiny::HTMLrather than the previousshiny::p. This allows for HTML code to more naturally be included, as well as the use ofshinytag constructor functions when used in concert withas.character(). This deprecates the previousdf$StemExpressionsformatlist inputs for
choiceValuesandchoiceNamescan accept named input elements that match the associated rownames in thedfinput to avoid the use of placeholdersThe final page splash screen now removes the
Nextbutton to avoid confusion (suggested by Daniel Sommerhoff). Applications must be explicitly closed now by the user, and consequently thestopApplogical to theshinyGUIlist has been deprecatedFixed the random item selection exposure control, which was selection suboptimal items instead (reported by @machow on Github)
When Type input is
textortextAreaandforced_choice = TRUEthen blocks of text input will also now be required. Otherwise, a message will be printed to the GUI
mirtCAT 1.7
CRAN release: 2018-03-11
message added in red whenever selection conditions not met (e.g., when using forced choice, rating scale options, or new mastery input)
added an optioanl
Masteryinput colum todfto prevent the GUI from continuing until the item is answered correctly (not useful for CATs, but supported for teaching interfaces)added a
rankselectGUI input todf$Typeto create a list of rank-orded selection options corresponding to the input optionsFix bug when using sequentially scored test without forced choice (reported by Aron Fink)
mirtCAT 1.6
add
Timeroption todfintput to set time limits for select itemsiterative algorithms now use the previous
thetaestimates as the starting values when locating the updated estimatesfix selection bug when using prior covariance matrix selection rules (reported by Johan Braeken)
computeCriteria()now respects thesubsetargument (reported by Johan Braeken)
mirtCAT 1.5
CRAN release: 2017-05-04
new
choiceNamesandchoiceValuesinputs toshinyGUIlist to allow HTML stems for radio buttons and checkboxes (e.g., see the new arguments inhelp(radioButtons))rotate x-axis 90 degrees in
plot()generic by defaultstart_itemcan now be a vector to change the starting item for each off-line response pattern input in Monte Carlo simulationsfixed off-line starting item when set to
'random', which previously set each participant’s start item the same (reported by Okan Bulut)internal updating function for
personclass to avoid direct assignment incustomUpdateThetas()function
mirtCAT 1.4
CRAN release: 2017-03-02
warning message and slot included in GUI results when session terminated unexpectedly
fix min items combination when using a
preCATlist input (total min items is now the sum of both stages)fix scoping bug when hosting GUI on server (reported by Murat Doğan ŞAHİN)
when a tab is closed early in the GUI the session now calls
stopApp()new
customUpdateThetasfunction input todesignto create a map of how the latent trait estimates should be updated throughout the session. To better expose the internals, the previousUpdate.thetas()function associated with apersonclass is now available as a slot in thedesigninternal objectadded
subsetandinfo_matstocomputeCriteria()to compute the desired criteria on item subsets only and to return the information matrices used to compute criteria such as Drule, Trule, etc (requested by Johan Braeken)
mirtCAT 1.3
CRAN release: 2017-02-01
removed support for a list input for
dfobject in place of a more flexible format which supports the arbitrary creation of user-defined item formats through the newcustomTypesargument. This is to be used in conjunction with thedf$Typeinput to pair the respective inputsadded
time_before_answertoshinyGUIlist to include a require number of seconds to wait before a valid/omitted response can be acceptedadd
textAreaInputsupport to GUI for include text-boxes as possible inputsdf$StemExpressionis now instead a logical vector used to indicate whether the questions definition should be evaluated in R firstadded
AnswerFuninput to allow for user-defined functions for each respective item to determine whether the answer provided is correct or incorrect. Mainly useful for text-based items (suggested by Anna Mikolajetz)added a
themeinput toshinyGUIto support predefined themes from the “shinythemes” package
mirtCAT 1.2
CRAN release: 2016-11-16
progresslogical added tomirtCAT()to print the progress of Monte Carlo simulations with thepbapplypackageShadow testing and optimal test assembly designs supported by adding
constr_funinput tomirtCAT()andobjectiveinput tofindNextItem(). See thefindNextItem()documentation for details and examplescomputeCriteria()function added to return all the criteria values (e.g., maximum information) associated with each respective itempopulation-level Theta terms tracked internally for Monte Carlo simulations because
generate_pattern()now stores the respective population values as a silent attribute. Will now be displayed in summary/print/plot outputs, where applicableallow the internal
designobject to be modified through thecustomNextItem()functionadded an
extract.mirtCAT()function to better document and extract the components of theperson,design, andtestobjects incustomNextItem(). Allows for safer and easier customization of item selection mapsnew
test_propertiesandperson_propertiesinputs todesignelement to allow for prior information about the test/persons (e.g., selecting particular items based on prior demographic information). Intended for use with acustomNextItem()function definition
mirtCAT 1.1
CRAN release: 2016-09-09
added
StemExpressiontodfinput to support arbitrary R expressions for stems to be rendered with standard R code. Allows for inputs such as audio, video, etc, as well through the use of a suitabletags$FUN(...)new
passwordinput toshinyGUIlist to allow login and password gates. Useful when hosting CAT on a server with potentially sensitive itemsdefault
shinystem wrapper function fordfwhen it is adata.frameis now exposed via thestem_default_formatinput toshinyGUIMathJax is now explicitly supported in the item stems and response options. As before, users can provide a manual list explicitly defining the
shinyfunctions; however, if adata.frameobject is used then the stems/responses will be automatically wrapped within a suitableshiny::withMathJax()function to render the outputmental preparation screen now disabled for non-scored tests when the
moobject is omitted (i.e., equivalent to settingshinyGUI = list(begin_message = ""))'select'Type input todfnow uses a blank option as the default to avoid clicking through accidentally. Also works better with theforced_choicedefault
mirtCAT 0.9
CRAN release: 2016-06-24
fix MLWI/MPWI selection criteria
findNextItem()is allowed to return all items given the selection criteria
Changes in mirtCAT 0.8
CRAN release: 2016-02-24
include
constraintsoption forexcludeditems (useful for re-testing situations where item selection is from the same bank of items but previously answered items should not appear)new
'none'presentation Type to allow empty material with no responses (mainly for presenting reading passages or other testlet-based items). Useful when used in conjunction with theconstraintsinput from thedesignlist so that these items have predictable dependent pairings (or can be used with thecustomNextItemform as well for explicit dependencies)shinyGUIinput gained auielement to allow users to completely customize the graphical UI with shiny codeadded
customNextItemfunction to allow a completely customized method for declaring the item selection schemesupport
checkboxinput type forcheckboxGroupInput()function. Supplying one or more answers will score the items in a partial credit styleinclude missing input options in
dfinput forshiny(e.g., width, placeholder, inline). Removed'radio_inline'input because this can now be accomplished by passingType = 'radio'andinline = TRUE
Changes in mirtCAT 0.6
CRAN release: 2015-10-04
added
getPerson()function to assign a person object following the use ofcreateShinyGUIthe
raw_responsesvector returned for each participant is now a character vector instead of an integeradded
sliderType input forsliderInputrating scale questionsresume_fileremoved, now if an associatedtemp_fileis detected it will be used to resume the GUI sessionnew
begin_messageinput toshinyGUIto change message prior to starting the CATchanged
lastpageelement inshinyGUIinput from a list to a function to allow messages containing information pertaining to the session
Changes in mirtCAT 0.5
CRAN release: 2015-05-09
fix bug when using SH exposure control when the pool runs out of items
add
delta_thetasargument to design list to stop CAT if change between latent trait updates is less than this distance criteriainclude more functions to allow easier web hosting in locations such as
shinyapps.io. Namely,mirtCAT_preamble()andcreateShinyGUI()graphical images (png, gif, and jpeg) no longer supported. Stems preferably should in HTML for best results and control
Stem paths can now point to and render HTML and markdown files in the GUI
dfinput can now be a list for including more fine tuned shiny inputscheck for the existence of graphical item stems, and allow relative or absolute paths
Changes in mirtCAT 0.4.2
CRAN release: 2015-01-25
forced_choiceargument for shinyGUI input to state whether response for each item are required (for CATs, this should always be TRUE)response in GUI now are blank by default
in
preCATlist input changenitemstomin_itemsandmax_itemsfor better control. Also include aresponse_variancelogical to terminate the preCAT stage when variability in the the response options occurs (so that ML estimation becomes plausible)include Sympson-Hetter method of item exposure control
major re-write of shiny inputs. Now the questions, answers, and options are all supplied through a
data.frameobject for better clarity, and all shiny inputs regarding the questions, image locations, etc, are specified in this objectmirt_objectinput renamed tomofor shortthe
local_patterninput now accepts a matrix of response patterns for running simulation designs. Returns a list of person objects instead of a single objectgenerate_pattern()now supports multiple Theta inputs specifically for simulation designsstart_iteminput now accepts character value inputs (in addition to explicit numeric inputs) corresponding to thecriteriaargument. This allows the first item to be selected using the (adaptive) selection criteriaadded
generate.mirt_object()function to build the requiredmirt_objectinput given population parametersnew
clargument inmirtCAT()for passing a parallel cluster object defined from the parallel package. Used to run simulation designs with parallel architecture for better speedby default, the demographics page is no longer generated in the GUI
Changes in mirtCAT 0.3
CRAN release: 2014-12-15
item_answerscan now be a list input, indicating that more than one correct answer is possible for a given itemallow the first page and demographics page to be skipped by passing empty list arguments
added ‘fixed’ method to keep latent trait estimates at fixed values (useful for preCAT)
Fisher information matrix added for remaining multidimensional models supported by
mirt, including custom item typesadd ‘Arule’ and ‘APrule’ for minimum trace criteria of asymptotic covariance matrix
Changes in mirtCAT 0.2
CRAN release: 2014-10-15
temporary files can now be saved while the GUI is running, and restored at a later time
more estimation options can be passed to
fscores()via the … argumentsensitive objects are now removed from the package namespace when the
mirtCAT()finishes unsuccessfullycategories are always returned with based 1 for first response in the GUI
add content balancing option
various bug fixes, and update documentation
new
findNextItem()input for users to locate the next item to administer (likely for custom CAT interfaces that do not use the Shiny package). Can be updated with theupdateDesign()functionmoved ‘Next’ button in the web interface to the left panel box so that it will always remain in the same location
support CSS customization
switch multidimensional selection criteria to use analytical expressions rather than numerical. Several multivariate Fisher information matrix computation currently not supported analytically, but will be steadily added.
add classification capabilities to
designlist input