editor_options | ||||
---|---|---|---|---|
|
- Changes
warning("Reference XX for key YY not found."
intowarning("Reference XX for key YY not found. Using default."
- Returns
preliminary_standards
from keygsed2406
in the above case.
- Some minor edits to the "Understanding and using DAZ" vignette
- Turns
Inf
values indaz()
intoNA
values - Turns
NaN
values in SEM intoNA
values - Turns ages in
get_mu()
below -1/12 intoNA
values dscore()
anddscore_posterior()
now accept a matrix as input- Improves documentation for interpretation of
NA
s in D-score, SEM and DAZ - Adds a vignette "Understanding and using DAZ" to explain and highlight DAZ (contributed Jonathan Seiden)
- Fixes typos in vignettes
- Breaking change: Changes the default
prior_mean_NA
andprior_sd_NA
toNA
(was 50 and 20). This is a safer option to handle missing ages. The user can still emulate the previous automatic behavior (introduced in dscore 1.9.2) by including theprior_mean_NA = 50
andprior_sd_NA = 20
arguments to thedscore()
function. - Implements new and more friendly options that add increased flexibility to specify prior mean and prior standard deviation for the D-score calculation
- Rebrands
count_mu()
as functionget_mu()
to extract the prior mean from a reference table. Deprecatescount_mu()
. - Adds a vignette "Custom Priors (Advanced)" to demonstrate the new options for specifying the prior mean and prior standard deviation
- Adds tests in
testthat/test-prior.R
- Repairs bug that occured when no items was found resulting in error "cannot coerce class 'function' to a data.frame" in
dscore()
- Restores a datafile
data-raw/data/keys/items_gs1_gl1.txt
that was accidentally removed in a previous release
- Refreshes
preliminary_standards
with a larger sample from Bangladesh
- Implements an automatic prior with mean 50 and sd 20 for observations with missing ages
- Evades superfluous warning 'There was 1 warning in
mutate()
. In argument:daz = daz(...)
' - Makes the
key
column compulsory in theitembank
argument, and adds a check on proper column names - Improves documentation for the
population
andkey
arguments
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
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.
- 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)
- 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
- Adds instrument
gh1
(GSED-HF, JAN 2023) tobuiltin_itemtable
andbuiltin_itembank
as part of keygsed2212
- Adds example datasets:
sample_sf
,sample_lf
andsample_hf
- Adds vignette to calculate D-scores and DAZ dedicated to GSED instruments
- Renames streams in
gl1
instruments as: aa --> gm, bb --> lg, cc --> fm - Replaces item name
gl1aad001
-->gl1gmd001
, and so on
- Rewrite calls to
select()
andpivot_longer()
to conform totidyselect 1.2.0
grammar
- On 22021130, we found errors in the LF item order. Solves a documentation error. This error was introduced on May 30, 2022 and invalidates keys
gsed2206
andgsed2208
, as well as analyses that rely on correct LF item labels. Version 1.7.0 corrects these problems. - Item labels are taken from
LF1
, corrected using RedCAP comparisons fromPhase_1_master_data_dictionary_V1.0_29_11_2022.xlsx
;LF2
, fromGSED LF Item Guide_October22_FINAL_clean_27Nov22.docx
and manually matched toLF1
.
- Rerun core 293_0 model, check edits, redocument, regenerate diagnostic plots, etc. Check that result is identical.
- Refit full 818_6 model. In general better ICC's, effect on D-score calculation is minor, six items were bad matches
- Introduces new default key
gsed2212
- Introduces new instrument codes
gs1
(GSED SF V1.0) andgl1
(GSED LF V1.0) - Updates
gto
labels with correct order - Set default key to
gsed2212
. This key repairs problems ingsed2206
andgsed2208
. get_labels()
now returns the labels in the same order asitems
- Extends key
gsed2212
with 18 ECDI items using Phase 1 validation data - Updates
builtin_itemtable
andbuiltin_itembank
with correct LF item order - Redocuments upper anchor item
- Solves bug that crashed
dscore::count_mu_phase1(t)
whent
is a vector containingNA
s - Adds example data set
gsample
with 10 cases with SF and LF scores - Adds
order
argument toget_itemnames()
- Repairs an error in the
sort_itemnames()
example - Replaces bitwise by more elegant elementwise comparison in
dscore.cpp
- Removes the dependency on the
sirt
package
- Solves a long-standing issue that led to severe incongruence between LF and SF at the earliest ages (<6M).
- Adds two new keys (
gsed2208
and293_0
) using the Phase 1 validation data for the GSED SF and GSED LF. - Sets
293_0
as the GSED core model and extended it to include the 818 items that fitted the previous model ("gsed2206"). - Adds a new reference (named
phase1
), based on LF and SF data from cohorts GSED-BGD, GSED-PAK and GSED-TZA studies. - **Changes the default key to
gsed2208
and defaultpopulation
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()`).
- Many simplications and update to increase legibility and consistency.
- Makes arguments of
get_age_equivalent()
andget_tau()
consistent withdscore()
- Adapts BCT functions to work with missing and out-of-range data
- Adds support for
phase1
reference toget_reference()
- Adds support for BCT references in
zad()
anddaz()
- Adds
count_mean_phase1()
for setting prior mean equal to the GSED Phase 1 reference - Adds round 2 estimates to
count_mean_phase1()
- Prepares
dscore()
prior_mean functionality to deal with the to-be-implemented new reference as "phase1" - Adds
count_mean_phase1()
function - Adds 18 ECDI items to keys
gsed2206
and294_0
- Initialise proper default
population
when key is294_0
. - Adds experimental key
294_0
to thebuiltin_itembank
. - Adds a
relevance
argument todscore()
anddscore_posterior()
to restrict calculation of D-scores to those items that have theirtau
within this relevance interval around the dynamic EAP estimate. - Repairs bug in
builtin_itembank
that inherits old (gsed1912) tau's into new key (gsed2206) for instrumentsgto
andgpa
. As a consequence, D-score were incorrectly calculated whengto
andgpa
item names were used. - Repairs a bug in
get_age_equivalent()
that resulted in age interval estimates that were too narrow on the D-score scale.
- Adds three new keys (
gsed2206
,lf2206
andsf2206
) that incorporate Phase 1 validation data for the GSED SF, GSED LF and BSID. - Changes the default key to
gsed2206
. If you want the old behavior, specifykey = "gsed1912"
to functions that accept thekey
argument (dscore()
,dscore_posterior()
,get_age_equivalent()
,get_tau()
). - Extends
builtin_itemtable
with names and labels forgpa
(SF),gto
(LF) andgsd
(novel SF) items. - Solves a long-standing issue #29 that gave different D-score under
different transformation. This change affects solutions calculated
with the
metric = "logit"
andtransform
parameters specified. The D-scores calculated under different transforms are now linear transformations of each other.
- Repairs a few problematic outbound URLs
- Updates tau estimates for Mullen items in itembank covering a much wider age range: 65 out of the 85 Mullen items from previous itembank version have new tau estimates; 20 items are removed.
- Updates itembank with new Mullen items. There are 73 new Mullen items added to the new itembank. In total there are now 139 Mullen items in the itembank, estimates are based on PROVIDE and BAMBAM data.
- Moves sources to organisation repository
D-score/dscore
for increased visibility
- Update external links
- Repairs six incorrect BDS numbers in
data-raw/data/bds)edited.csv
- Adds equate groups translated from the
ddata
package tobuiltin_itemtable
- Adds new
itemtable_20200424.txt
with minimal item definitions - Adds 522 missing items that were defined in the
ddata
package - Minimizes the data stored in
builtin_itemtable
- The
get_itemtable()
function gets a new argumentdecompose
for adding info from decomposed item names - Solves warning from
get_itemtable()
whenitemtable
argument is specified
- Uses explicit
drop = TRUE
to account for new behavior intibble 3.0.0
- Adds a facility to create a dynamic (on-the-fly) itemtable from
specified item names in
get_itemtable()
.
- The default rounding is now 2 (D-score), 3 (DAZ). Fixed rounding are now 4 (age) and 4 (p) decimals.
- There was a slight discrepancy in the calculation of DAZ between the
dscore
andclopus
packages. Thedscore
package now first rounds the D-score and then calculate DAZ. - The
dscore()
function now automatically select theprior_mean = ".dutch"
option when the user specifieskey == "dutch"
. This change repair an error in the D-score calculation that occurs when onlykey == "dutch"
was given. - The
dscore()
function now silently handles warnings that may result from taking the log of negative ages.
- Hi, welcome to
dscore 1.0.0
! For the development history, see https://github.com/D-score/dscore - Added a
NEWS.md
file to track changes to the package.