- SDC Results are now presented using {cli} instead of {crayon}. This made it possible to improve the overall readability of the SDC results.
- All
sdc_*
functions gain the new argumentfill_id_var
. This makes output control easier in specific cases where you need to check an identifier with many missing values. See this discussion for details. - For
options(sdc.info_level = 2)
, the information on dominance now prints the dominance, similar to the number of distinct identifiers.
- Introduction of mathjaxr to improve the quality and readability of the help files.
- lintr induced cleanup of the code base.
- The objects returned by
sdc_*()
functions now contain options and settings in a much better structure. Before, it was a bunch of strings which could be pasted together. Now, it's a list holding only the relevant values. The print output remained almost identical (minor improvements) due to new print methods.
as.data.table()
insdc_*()
functions is now conditional so that it's only called whendata
is not adata.table
yet. This can save memory and improve performance.sdc_model()
gained the new argumentlocal
(like insource()
), which allows new use cases. Thanks to Pantelis Karapanagiotis for the PR!
sdc_model()
no longer returns wrong results forfelm
models when theid_var
is used for clustering.
- The
by
argument insdc_descriptives()
andsdc_extreme()
now only accepts character input. This makes the code more robust and easier to maintain. - the structure of objects of type
sdc_model
is simplified (terms
instead ofdummies
andinteractions
) sdc_extreme()
now return the number of distinct ID's (instead of number of observations) used to calculate the extreme values
- support for interaction terms in
sdc_model()
- support for checking continuous variables in
sdc_model()
sdc_model()
now checks ifdata
was actually used to createmodel
(this only works ifmodel
has a suitable S3 method formodel.frame()
)- the argument
id_var
now takes the default value ofgetOption("sdc.id_var")
in all functions, which makes it possible to useoptions(sdc.id_var = "id")
at the top of a script and save some typing - performance improvement for
check_dominance()
(and therefore insdc_descriptives()
andsdc_extreme()
)
check_dominance()
now handles negative values correctly (asabs()
)
- Added a
NEWS.md
file to track changes to the package.