Overview
This is a major update of the dscore
package featuring:
- a new default reference
"preliminary_standards"
- a correction of an issue with the scaling factor
- a major clean-up of the itembank, references, keys, and R code
- improved documentation and examples
Major issues
BREAKING CHANGE: On May 31, 2024 we detected a long-time error in the calculation of the D-score resulting from an incorrect scale factor that led us to believe that item characteristic curves are steeper than the actually are. The impact of the error on the result is as follows:
- There is no effect on the difficulty estimates of the Rasch models,
- The D-score estimates are slightly altered but changes are small,
- The references are largely unaffected and need not to be redone,
- The estimates of the SEMs can differ substantially, so inferences based on the SEMs should be re-evaluated,
- When there were changes in the analyses, the results in the newer method look smoother and are preferred.
The correction appeared in the development version dscore 1.8.8
, and is now incorporated into release dscore 1.9.0
. For backward compatibility to dscore 1.8.7
and earlier, use the argument algorithm = "1.8.7"
in calls to the dscore()
function.
BREAKING CHANGE: dscore_posterior()
now returns a data.frame
with column names that indicate the quadrature point. This was an unnamed matrix
. Code that expects a matrix
as the return of dscore_posterior()
may need to be adapted.
NEW DEFAULT KEY: Adds a new reference "preliminary_standards"
calculated from selected subsample of the GSED Phase 1 data, and makes these the default in this release. The reference is a temporary stand-in for a future norm-based standard for normal early child development. This reference replaces the temporary reference "phase1_healthy"
that was introduced in dscore 1.8.7
. Compared to the "phase1"
reference, the "preliminary_standards"
reference has the following differences: 1) D-score estimation uses the new model 20240601 with correct scale factor, 2) Calculates the D-score for SF and LF separately (not combined), 3) Tunes the GAMSLSS model to fit the healthy subsample. The "phase1_healthy"
object is removed.
Major changes
- Adds a new age-conditional reference for population
"dutch"
calculated using the"gsed2212"
key. - Defines a new key
"gsed2406"
to accomodate for the changed prior mean because of the adoption of the new reference"preliminary_standards"
as the base population. The key"gsed2406"
is identical to"gsed2212"
, and is the default key in this release. - Adds a new
builtin_keys
table that contains proper defaults for the base reference, transformation and quadrature points per key - Indexed a reference now by two fields:
key
andpopulation
. Previously the index was based on onlypopulation
. This change allows for multiple references per key, and for references created for the same population under different keys. Thekey
field is now mandatory in the reference table. - Adds a
verbose
option todscore()
,dscore_posterior()
,get_age_equivalent()
,get_reference()
,get_tau()
,daz()
andzad()
to print progress messages to the console on the values ofkey
,population
,transform
,qp
andalgorithm
. This is useful for debugging and for understanding the behavior of the functions. - Cleans up the R code to take advantage of the specification made in the new
builtin_keys
table. This makes the code more readable and maintainable. - Retires keys
sf2206
,lf2206
,294_0
,gsed2206
,gsed2208
and removes from thebuiltin_itembank
. dscore()
anddscore_posterior()
can now copy variables from the inputdata
into the output through theprepend
argument. (#46)
Minor changes
- Simplifies the package DESCRIPTION file
- New internal
init_key()
andset_default_xxx()
functions to regulate values forkey
,population
,transform
andqp
arguments - Renames the files in
data-raw/data/keys
to more consistent names, adaptsdata-raw/R/save_builtin_itembank.R
to reflect model history, and rebuildsbuiltin_itembank
- Removes the dependency on
tibble
andtidyselect
, and replaces the dependency onstringr
by the lighterstringi
- Rename the argument name
reference
toreference_table
indaz()
andzad()
to avoid confusion with thereferences
argument inget_reference()
- Simplifies the spelling of the term "D-score" to improve consistency and readability
- Replaces
magrittr
pipe%>%
by base pipe|>
- Make style more consistent with
styler
- Per request from CRAN (
Specified C++11: please drop specification unless essential
), removes a C++11 specification - Moves error evasion code into internal
pBCT()
- Document up-rounding to a D-score of 1 or higher when
daz()
andzad()
using the BCT transformation for positive values - Removes the superfluous
names
attribute from the return value ofdaz()
andzad()
- Evades an error produced by internal
pBCT()
whenis.na(nu)
isTRUE
- Renames GSED HH to GSED HF
- Change CITATION file to use the
bibtex
package - Moved all keys to the
data-raw/data/keys
folder and renamed them to improve readability