This is a major update of the dscore
package
featuring:
"preliminary_standards"
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: 1)
There is no effect on the difficulty estimates of the Rasch models, 2)
The D-score estimates are slightly altered but changes are small, 3) The
references are largely unaffected and need not to be redone, 4) The
estimates of the SEMs can differ substantially, so inferences based on
the SEMs should be re-evaluated, 5) 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.
"dutch"
calculated using the "gsed2212"
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.builtin_keys
table that contains proper
defaults for the base reference, transformation and quadrature points
per keykey
and
population
. Previously the index was based on only
population
. This change allows for multiple references per
key, and for references created for the same population under different
keys. The key
field is now mandatory in the reference
table.verbose
option to dscore()
,
dscore_posterior()
, get_age_equivalent()
,
get_reference()
, get_tau()
, daz()
and zad()
to print progress messages to the console on the
values of key
, population
,
transform
, qp
and algorithm
. This
is useful for debugging and for understanding the behavior of the
functions.builtin_keys
table. This makes the code more
readable and maintainable.sf2206
, lf2206
,
294_0
, gsed2206
, gsed2208
and
removes from the builtin_itembank
.dscore()
and dscore_posterior()
can now
copy variables from the input data
into the output through
the prepend
argument. (#46)init_key()
and
set_default_xxx()
functions to regulate values for
key
, population
, transform
and
qp
argumentsdata-raw/data/keys
to more
consistent names, adapts data-raw/R/save_builtin_itembank.R
to reflect model history, and rebuilds
builtin_itembank
tibble
and
tidyselect
, and replaces the dependency on
stringr
by the lighter stringi
reference
to
reference_table
in daz()
and
zad()
to avoid confusion with the references
argument in get_reference()
magrittr
pipe %>%
by base pipe
|>
styler
Specified C++11: please drop specification unless essential
),
removes a C++11 specificationpBCT()
daz()
and zad()
using the BCT transformation
for positive valuesnames
attribute from the return
value of daz()
and zad()
pBCT()
when
is.na(nu)
is TRUE
bibtex
packagedata-raw/data/keys
folder and
renamed them to improve readabilitygh1
(GSED-HF, JAN 2023) to
builtin_itemtable
and builtin_itembank
as part
of key gsed2212
sample_sf
,
sample_lf
and sample_hf
gl1
instruments as: aa –> gm, bb
–> lg, cc –> fmgl1aad001
–>
gl1gmd001
, and so onselect()
and
pivot_longer()
to conform to tidyselect 1.2.0
grammargsed2206
and gsed2208
, as
well as analyses that rely on correct LF item labels. Version 1.7.0
corrects these problems.LF1
, corrected using RedCAP comparisons from
Phase_1_master_data_dictionary_V1.0_29_11_2022.xlsx
;LF2
, from
GSED LF Item Guide_October22_FINAL_clean_27Nov22.docx
and
manually matched to LF1
.gsed2212
gs1
(GSED SF V1.0) and
gl1
(GSED LF V1.0)gto
labels with correct ordergsed2212
. This key repairs problems
in gsed2206
and gsed2208
.get_labels()
now returns the labels in the same order
as items
gsed2212
with 18 ECDI items using Phase 1
validation databuiltin_itemtable
and
builtin_itembank
with correct LF item orderdscore::count_mu_phase1(t)
when
t
is a vector containing NA
sgsample
with 10 cases with SF and
LF scoresorder
argument to
get_itemnames()
sort_itemnames()
exampledscore.cpp
sirt
packagegsed2208
and 293_0
)
using the Phase 1 validation data for the GSED SF and GSED LF.293_0
as the GSED core model and
extended it to include the 818 items that fitted the previous model
(“gsed2206”).phase1
), based on LF and SF
data from cohorts GSED-BGD, GSED-PAK and GSED-TZA studies.gsed2208
and default
population
to
“phase1”.**. If you want the old behavior, specify
key =
“gsed1912”or
key =
“gsed2206”to functions that accept the
keyargument (
dscore(),
dscore_posterior(),
get_age_equivalent(),
get_tau()`).get_age_equivalent()
and
get_tau()
consistent with dscore()
phase1
reference to
get_reference()
zad()
and
daz()
count_mean_phase1()
for setting prior mean equal
to the GSED Phase 1 referencecount_mean_phase1()
dscore()
prior_mean functionality to deal with
the to-be-implemented new reference as “phase1”count_mean_phase1()
functiongsed2206
and
294_0
population
when key is
294_0
.294_0
to the
builtin_itembank
.relevance
argument to dscore()
and
dscore_posterior()
to restrict calculation of D-scores to
those items that have their tau
within this relevance
interval around the dynamic EAP estimate.builtin_itembank
that inherits old
(gsed1912) tau’s into new key (gsed2206) for instruments
gto
and gpa
. As a consequence, D-score were
incorrectly calculated when gto
and gpa
item
names were used.get_age_equivalent()
that resulted in
age interval estimates that were too narrow on the D-score scale.gsed2206
, lf2206
and
sf2206
) that incorporate Phase 1 validation data for the
GSED SF, GSED LF and BSID.gsed2206
.
If you want the old behavior, specify key = "gsed1912"
to
functions that accept the key
argument
(dscore()
, dscore_posterior()
,
get_age_equivalent()
, get_tau()
).builtin_itemtable
with names and labels for
gpa
(SF), gto
(LF) and gsd
(novel
SF) items.metric = "logit"
and transform
parameters
specified. The D-scores calculated under different transforms are now
linear transformations of each other.D-score/dscore
for increased visibilitydata-raw/data/bds)edited.csv
ddata
package to
builtin_itemtable
itemtable_20200424.txt
with minimal item
definitionsddata
packagebuiltin_itemtable
get_itemtable()
function gets a new argument
decompose
for adding info from decomposed item namesget_itemtable()
when
itemtable
argument is specifieddrop = TRUE
to account for new behavior
in tibble 3.0.0
get_itemtable()
.dscore
and clopus
packages. The
dscore
package now first rounds the D-score and then
calculate DAZ.dscore()
function now automatically select the
prior_mean = ".dutch"
option when the user specifies
key == "dutch"
. This change repair an error in the D-score
calculation that occurs when only key == "dutch"
was
given.dscore()
function now silently handles warnings
that may result from taking the log of negative ages.dscore 1.0.0
! For the development
history, see https://github.com/D-score/dscoreNEWS.md
file to track changes to the
package.