• fix getTrafo() for transformation databases that store mathematics under mat while keeping the public subject = "math" API
  • make getTrafo() robust when requested subjects do not contain all requested domains and when combined anchor data frames have different columns
  • make transformToBista() work without competence level cuts; continuous transformations and continuous linking errors are still returned, while VERA item output is allowed without kstufe
  • fix duplicate plausible-value ID checks in transformToBista()
  • rebuild RcppParallel and qs2 from source in the macOS R CMD check job to avoid incompatible binary TBB linkage when loading mirt
  • annotate 00install.out in failed R CMD check jobs
  • improve handling of missings in background variables
  • bugfix in Q matrix consistency checks: Verifying that item names may have a maximum of 11 characters when using Conquest requires a Q matrix. Therefore, the check must be performed after the function that generates the Q matrix, unless otherwise specified.
  • add argument remove.insuff.pattern in defineModel(): an additional argument in defineModel() that not only flags polytome items with unexpected patterns, but also automatically excludes them from the analysis
  • avoid duplicate notifications when items violate more than one model requirement criterion
  • bugfix in variable renaming for ConQuest conditioning models
  • add tests for equivalence table in partial credit (simEquiTable())
  • bug fix in simEquiTable(): read in correct anchor file
  • bugfix in (g)pcm anchoring with tam
  • fix 2PL item parameter transformation to the 62.5% threshold for TAM and mirt parameterizations in transformToBista()
  • make 2PL slope detection in transformToBista() robust against slope standard error columns
  • add regression tests for TAM vs. mirt 2PL transformations and TAM vs. mirt GPCM Thurstonian thresholds/BISTA item parameters
  • run the TAM vs. mirt PCM Thurstonian threshold test independently from the optional ConQuest executable
  • describe renam argument in checkContextVars()
  • minor bug fix in runModel() for TAM: tam function selection between 1pl and 2pl is correct now
  • Use mirt::traditional2mirt() for transformation of item parameters.
  • implement 2pl transformation for item parameters according to a probability of 62.5%
  • dif for partial credit in tam
  • add function getTrafo() for extraction of IQB transformation rules from data base
  • added pkgdown page
  • updated tests to ignore NA rows in the comparison.
  • bugfix in runModel() for partial credit in mirt: column identification of irtmodel via number instead colname
  • defineModel.rd help page: more streamlined examples that run faster
  • add tests for thurstone thresholds
  • added new test file test_defineModel.R, copied TAM and Conquest examples from .Rd file (examples 8, 8.1), renamed objects for comparison
  • changed the stopifnot lines to test_that tests
  • allow more than 10 characters in conquest variable names
  • add partial credit for conquest
  • do not constrain covariances in adaptSkeletonForAnchor()
  • WLEs in multidimensional models for mirt: account for missings on sub dimensions
  • partial credit with TAM and mirt
  • use the benchmarkme package for getDevianceConquest()
  • bugfix in scipen (adapted for R version >= 4.5.0)
  • multiEquatError(): rewritten: tests added, help files adapted
  • remove assertions in `fixSlopeMat(): In the assertions, the columns must not be selected according to order, as this can vary.
  • remove recursive calls in defineModel(): new internally needed function defineModelSingle()
  • Fix in multiEquatError(): The old function lacked a check if the testlets are constant. In addition, the comparison of the original and chained linking errors was misleading. Both should now be corrected.
  • add message for equat1pl() that testlet column name and dimension names must be different
  • increase Q3 estimation speed by incorporating Rfast package
  • deleted getConquestVersion() (outdated) and prepRep() (now via eatGADS).
  • deleted date dependency in DESCRIPTION
  • simEquiTable(): added new checks for cutScores and applied feedback
  • use makeDateFrame() for checkPersonGroupsConsistency()
  • anker(): added column types for prm
  • assertions for all ...FromRes() functions
  • assertions for all get...() functions
  • assertions for plotDevianceConquest()
  • multiEquatError(): bugfix testletStr
  • use cli for error/warning message presentation
  • The functions are no longer contained in a single file (eatModel.r), but are grouped according to their intended use.
  • getConquestVersion(), simEquiTable(): new assertions (input validation)
  • getResults.rd: change file encoding from ISO-8859-1 to UTF-8
  • checkQmatrixConsistency(): moved checks from splitModels() in here (because the function is also called by defineModel
  • added checkmate checks for defineModel()
  • remove problematic eatTools::gsubAll() from checkLinking()
  • changing encoding from ANSI to UTF-8 in getResults.rd
  • replace deprecated memory.limit() with ps::ps_system_memory()
  • get.shw(): Conquest only allows variable names with a maximum of 11 characters. If the variable name is exactly 11 characters long, the space between the variable name and the item parameter value is missing in the ASCII file. In this case, the columns could not be read correctly because this was done by identifying spaces in the ASCII file. This bug has been fixed here.
  • Bug fix for rounding in simEquiTable(): Depending on the number of decimal places to be displayed, a less ambiguous rounding method is now selected, which makes it possible to determine exactly which proficiency level an item falls into when the transformed item parameter lies on the boundary between proficiency levels.
  • add warnings in equat1pl() if dimension names do not correspond to refPop’s first column names
  • add seed argument in getResults() (for infit computation)
  • added assertions in replaceLinkingError(): verbose, digits
  • add package sticker
  • customize model statement in defineModel() for Conquest: The function checks whether the variable names in the model statement are also included in the dataset. However, this does not apply to reserved names such as “item,”, “step,” etc.
  • add q3 pairs in transformtobista() output
  • update exemplary data (trends.rda)
  • add exemplary conquest results files for demonstration purposes
  • add appropriate error messages in checkItemParLists() when parameter value column is not numeric
  • provide optional long format return in q3FromRes()
  • The function mergeAttr() is being moved from the eatModel package to the eatTools package.
  • add function checkContextVars() which checks whether some types of context vars, i.e. group, DIF and weighting variables, are consistent with item variables. The function is mainly used for internal consistency checks.
  • add function regcoefFromRes() which lists the regression parameters of the conditioning model from the results object.
  • transformToBista() now gives linking errors in a data.frame which is appropriate for eatRep
  • add examples for trend analyses with 3 measurement occasions
  • defineModel(): add output information about students with all items solved or all items failed
  • add functionality for >2 measurement occasions
  • Extracting the recursive function part from defineModel() which is now provided in a new function doAufb()
  • add multiEquatError() for linking of three measurement
  • add EAP reliability in the results object
  • add checks in checkQmatrixConsistency(): Indicator columns must not be consistently 0 (a consistent 1 would be allowed; this would then constitute within-item multidimensionality).
  • Bug fix in getTam2plDiscrim(): This internally used function reloads the 2pl discrimination parameters from TAM.
  • wleRelFromRes() adds wle reliability to results object, also for multidimensionality models
  • help files for test design data provided as rda instead of xlsx
  • If it cannot be found on the network drives, the user will be prompted to specify the location of the Conquest console the first time it is needed.
  • Add validity checks to verify that background variables are consistent with themselves and with the item data. Also, determine the length (number of characters required) for each variable.
  • Bug fix: Importing WLEs from Conquest now also works for multidimensional cases.
  • set compatibility to eatTools 0.3.1
  • add ordinary least squares (OLS) to robust linking methods in equat1pl()
  • transformToBista() calculates the mean and standard deviation of the reference population using eatRep methods when the given sample is drawn from the norm population and is not to be equated.
  • Add robust methods to equat1pl() linking procedures
  • Based on an idea by Johannes Schult, the simEquiTable() function now uses methods from Ivailo Partchev’s irtoys package to generate the item parameter equivalence table more quickly and efficiently.
  • Temporary storage of console messages that cannot be displayed immediately in the case of multicore. They are stored as strings and displayed on the console once the multicore analysis is complete.
  • Bug fix for recursive calls to defineModel() in cases involving multiple models
  • compatibility issues: Add functionality that allow the ID variable to be specified manually when output generated by earlier package versions needs to be re-read by newer package versions.
  • Extractor functions for Conquest.
  • Added quasiMontecarlo for TAM methods.
  • Fixed runModel() for 2PL models.
  • add checkDesign() for verifying the underlying test design
  • 2pl parameter extraction
  • plotICC() for dichotomous 1pl item characteristic curves
  • Initial release on 2018-10-30.
  • Released versions 0.6.23 through 0.6.26.
  • Updated eatModel.r.