Changelog
Source:NEWS.md
mirtCAT 1.15
- Changed
$terminated_sucessfully
to$GUI_terminated_sucessfully
to avoid confusion, and addedterminated_early
element toperson
objects to indicate whether the CAT termination criteria resulted in an early termination
mirtCAT 1.14
CRAN release: 2024-07-12
- The
shinyGUI
list’sforced_choice
global specification inmirtCAT()
has now been deprecated in favor of including this information in thedf
object. 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
design
information 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$HTMLOptions
added to indicate whether theOptions.#
inputs should be evaluated usingHTML()
first and passed to the suitable constructor functions (requested by John Manacup)df$Timer
is 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 moreAnswer
elements 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_response
andnew_item
, respectively, and example documentation updated to reflect this changeordered
andunordered
constraints no longer stop in the middle of testlet set, thereby ignoring other stoping criteria (suggested by Christoph König)choiceNames
andchoiceValues
inputs 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_server
logical 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
sessionName
argument 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.start
now accepts a matrix input for simulations with different latent trait starting values. Note that this also will affect thestart_item
criteria 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
person
objects and results return from GUI version ofmirtCAT()
calledclientData
, which pertains to the character vector information from shiny’ssession$clientData
component (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
mirtCAT
on a single server where multiple users can be processed at the same timeFix
design_elements
global dependency between objects (reported by Felix Fisher)
mirtCAT 1.8
CRAN release: 2018-10-22
default wrapper to
Questions
element indf
input now usesshiny::HTML
rather than the previousshiny::p
. This allows for HTML code to more naturally be included, as well as the use ofshiny
tag constructor functions when used in concert withas.character()
. This deprecates the previousdf$StemExpressions
formatlist inputs for
choiceValues
andchoiceNames
can accept named input elements that match the associated rownames in thedf
input to avoid the use of placeholdersThe final page splash screen now removes the
Next
button to avoid confusion (suggested by Daniel Sommerhoff). Applications must be explicitly closed now by the user, and consequently thestopApp
logical to theshinyGUI
list has been deprecatedFixed the random item selection exposure control, which was selection suboptimal items instead (reported by @machow on Github)
When Type input is
text
ortextArea
andforced_choice = TRUE
then 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
Mastery
input colum todf
to prevent the GUI from continuing until the item is answered correctly (not useful for CATs, but supported for teaching interfaces)added a
rankselect
GUI input todf$Type
to 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
Timer
option todf
intput to set time limits for select itemsiterative algorithms now use the previous
theta
estimates 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 thesubset
argument (reported by Johan Braeken)
mirtCAT 1.5
CRAN release: 2017-05-04
new
choiceNames
andchoiceValues
inputs toshinyGUI
list 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_item
can 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
person
class 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
preCAT
list 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
customUpdateThetas
function input todesign
to 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 aperson
class is now available as a slot in thedesign
internal objectadded
subset
andinfo_mats
tocomputeCriteria()
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
df
object in place of a more flexible format which supports the arbitrary creation of user-defined item formats through the newcustomTypes
argument. This is to be used in conjunction with thedf$Type
input to pair the respective inputsadded
time_before_answer
toshinyGUI
list to include a require number of seconds to wait before a valid/omitted response can be acceptedadd
textAreaInput
support to GUI for include text-boxes as possible inputsdf$StemExpression
is now instead a logical vector used to indicate whether the questions definition should be evaluated in R firstadded
AnswerFun
input 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
theme
input toshinyGUI
to support predefined themes from the “shinythemes” package
mirtCAT 1.2
CRAN release: 2016-11-16
progress
logical added tomirtCAT()
to print the progress of Monte Carlo simulations with thepbapply
packageShadow testing and optimal test assembly designs supported by adding
constr_fun
input tomirtCAT()
andobjective
input 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
design
object to be modified through thecustomNextItem()
functionadded an
extract.mirtCAT()
function to better document and extract the components of theperson
,design
, andtest
objects incustomNextItem()
. Allows for safer and easier customization of item selection mapsnew
test_properties
andperson_properties
inputs todesign
element 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
StemExpression
todf
input 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
password
input toshinyGUI
list to allow login and password gates. Useful when hosting CAT on a server with potentially sensitive itemsdefault
shiny
stem wrapper function fordf
when it is adata.frame
is now exposed via thestem_default_format
input toshinyGUI
MathJax is now explicitly supported in the item stems and response options. As before, users can provide a manual list explicitly defining the
shiny
functions; however, if adata.frame
object 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
mo
object is omitted (i.e., equivalent to settingshinyGUI = list(begin_message = "")
)'select'
Type input todf
now uses a blank option as the default to avoid clicking through accidentally. Also works better with theforced_choice
default
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
constraints
option forexcluded
items (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 theconstraints
input from thedesign
list so that these items have predictable dependent pairings (or can be used with thecustomNextItem
form as well for explicit dependencies)shinyGUI
input gained aui
element to allow users to completely customize the graphical UI with shiny codeadded
customNextItem
function to allow a completely customized method for declaring the item selection schemesupport
checkbox
input type forcheckboxGroupInput()
function. Supplying one or more answers will score the items in a partial credit styleinclude missing input options in
df
input 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 ofcreateShinyGUI
the
raw_responses
vector returned for each participant is now a character vector instead of an integeradded
slider
Type input forsliderInput
rating scale questionsresume_file
removed, now if an associatedtemp_file
is detected it will be used to resume the GUI sessionnew
begin_message
input toshinyGUI
to change message prior to starting the CATchanged
lastpage
element inshinyGUI
input 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_thetas
argument 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
df
input 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_choice
argument 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
preCAT
list input changenitems
tomin_items
andmax_items
for better control. Also include aresponse_variance
logical 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.frame
object for better clarity, and all shiny inputs regarding the questions, image locations, etc, are specified in this objectmirt_object
input renamed tomo
for shortthe
local_pattern
input 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_item
input now accepts character value inputs (in addition to explicit numeric inputs) corresponding to thecriteria
argument. This allows the first item to be selected using the (adaptive) selection criteriaadded
generate.mirt_object()
function to build the requiredmirt_object
input given population parametersnew
cl
argument 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_answers
can 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
design
list input