NEWS.md
by3) to key gsed2510 (adds 242 items)builtin_itembank to include BSID-III (by3) items in key gsed2510
builtin_keys to signal new instrument by3 for key gsed2510
by3) instrumentscoring_GSED vignette: switch to html_document, improve formatting, update references section, and clarify DAZ calculation standardsgh1) instrumentbuiltin_itemtable to reflect dropping of the first three months formsample_hf example data to the 48-item HF versionhf_48_2406.txt and hf_48_2510.txt key filesbuiltin_itembank using 48-item version of gh1 for keys gsed2212, gsed2404 and gsed2510.get_reference(): If the user specifies a builtin population (e.g. gcdg, who_descriptive) and the key is not found, then it returns the specified reference for its most recent keytriple for demo purposes"who_descriptive" populationsbuiltin_keys and builtin_references
key = "gsed2510" and population = "who_descriptive". This reference replaces the (temporary) phase1 reference. (#62).gsed2406 to gsed2510.
gsed2406 was built from data in three GSED countries.gsed2510 is a major step forward: it incorporates the full validation study across seven countries (BGD, BRA, CHN, CIV, NLD, PAK, TZA), giving a richer and more robust foundation.dscore::builtin_keys and pass it explicitly via the key argument in dscore::dscore().key = "gsed2406" in your dscore() call. Support for additional instruments will be added over time.gpa and gto
This release brings the following enhancements to the dscore package:
lf and sf to builtin_itemtable to refer to GSED LF and GSED SF, respectivelyby3 key in gsed2212 and gsed2406. The replacement matches many more by3 items (172 instead of 67), especially for younger children. Compared to the previous by3 key, it raises the D-score estimate for by3 by approximately 2.6 D.preliminary_standards
rename_vector() part of the dscore package (moved from the gsedread package)arma::is_finite(val) to std::isfinite(val) to adhere to CRAN policybuiltin_itemtable to resolve problems with SF items 88 and 89 and LF B43-B51.gsed3, gsed2 and gsed lexiconsgpaclc088 –> gpaclc089 (Can you child say five or more separate words)gpasec089 –> gpasec088 (Is your child able to pee or poo)gsed2212 (soft deprecation). This key is identical to gsed2406 (the current default), except that it defines its default population as phase1 instead of preliminary_standards. If you want the old behavior, specify key = "gsed2406" in combination with population = "phase1". The key gsed2212 will be removed in a future release.This release brings two enhancements to the dscore package:
preliminary_standards based on a larger sample from Bangladesh.preliminary_standards with a larger sample from Bangladeshprior_mean_NA and prior_sd_NA to NULL (was 50 and 20). This is a safer option to handle missing ages. The user can emulate the previous automatic behavior (introduced in intermediate version dscore 1.9.2) by setting the prior_mean_NA = 50 and prior_sd_NA = 20 arguments to the dscore() function.count_mu() as function get_mu() to extract the prior mean from a reference table. Deprecates count_mu().get_mu() below -1/12 into NA valueswarning("Reference XX for key YY not found." into warning("Reference XX for key YY not found. Using default."
preliminary_standards from key gsed2406 in the above case.Inf values in daz() into NA valuesNaN values in SEM into NA valuesdscore() and dscore_posterior() now accept a matrix as inputNAs in D-score, SEM and DAZtestthat/test-prior.R
dscore()
data-raw/data/keys/items_gs1_gl1.txt that was accidentally removed in a previous releasemutate(). In argument: daz = daz(...)’key column compulsory in the itembank argument, and adds a check on proper column namespopulation and key argumentsThis 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 NAsgsample 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, specifykey = “gsed1912”orkey = “gsed2206”to functions that accept thekeyargument (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 visibilityddata 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/dscore
NEWS.md file to track changes to the package.