DESCRIPTION
.make.quantile.matrix()
: Adjusted quantile function by adding optional argument digits = 7
to reflect change in quantile version in CRAN version 4.0.5. The change does not affect CRAN version 4.0.4 or below.The names of quantile()’s result no longer depend on the global getOption(“digits”), but quantile() gets a new optional argument digits = 7 instead.
estimate
and chemical
from environment in plot.wqs()
.impute.multivariate.bayesian()
: Removed empty details sectionestimate.wqs()
: Can now compare training and validation datasets, which is commonly done in WQS analysis.plot.wqs()
: Removed defunct filename
argument. Plots are no longer saved automatically; please save manually using ().impute.multivariate.regress()
: imputes all chemicals jointly using a multivariate Bayesian regression.do.many.wqs()
:
B
argument to the ...
argument. Should not impact any code, as it is called within estimate.wqs()
.estimate.wqs()
:
summarize.compare()
and make.descriptive.tables()
.impute.sub()
: replaced for-loop with much faster tidyr::replace_na()
.impute.boot()
and impute.Lubin()
: Now uses the survival routines that have been updated in version 3.plot.wqs()
:
tidyr::pivot_longer()
instead of tidyr::gather()
in response to update in tidyr package from v. 0.8 to v. 1.0.0. See vignette("pivot")
and vignette("in-packages")
in tidyr documentation for more information.ggplot2
layer to make x-axis smaller so you can read labels on weights histogramcheck_constants()
: Fixed bug that returns error if the number of bootstraps (B), imputed datasets (K), or length of chain (T) is 0 imp_cond_MVN
: An accessory function used to impute conditional truncated multivariate normal used in impute.multivariate.regress()
. Added condMVNorm & tmvtnorm packages to DESCRIPTION.formatMedianIQR
: Changed format of median and IQR to “median[Q1, Q3]”.is.even()
, is.odd()
– now accepts tolerance argument for consistency with other is...
functions.specify.init()
: change argument to C.replace_na()
: Changes made in impute.sub()
estimate.wqs.formula()
now has a formula capability. Can type in a full formula and specify column names instead of dividing up the data into three columns.impute.Lubin()
:
impute.boot
instead.bootstrap_index
element is now factors instead of numbers. Easier to see what subjects were selected.pool.mi()
:
prt
to print to standard output so that the pool.mi
object can be read in an understandable fashion.methods
is NOW more robust by adding tolower()
. Now, if someone writes in all caps, the function still works.mice.df()
is now clearer – only accepts either method to avoid mistake.IMPORTS
to DEPENDS
for clarity. As the base R packages are already attached, this should have no impact on package performance.class(.)==matrix
with is()
, as directed from CRAN.check_constants()
: Used sprintf()
for more generic error returns.check_imputation
: Removed checking Z here. Now Z is checked in each impute.
.. function.head.array()
: made package for head()
clear by using utils::head()
.is.even()
, is.odd()
– now accepts tolerance argument for consistency with other is.
.. functions.combine.AIC()
: removed comma from output that was generated from format.mean.sd() (Added July 22, 2019)estimate.wqs()
:
if/else
on signal function options for speed.check_wqs_function()
; deleted duplicate check_function() from before.impute.boot()
:
plot.wqs()
no longer automatically saves the plots to reduce clutter and save the user’s workspace. However, you can still use ggsave()
on the output if you wish to save WQS plots. If you depended on this behavior, you’ll need to condition on packageVersion("miWQS") > "0.0.0"
.analyze.individually()
does individual chemical analysis. The outcome is independently regressed on each chemical. Individual chemical analyses with the outcome can be used to determine whether the mixture of chemicals is positively or negatively related to the outcome (the b1.pos
argument in estimate.wqs()
).do.many.wqs()
does many WQS analyses, which is useful in the second stage of multiple imputation.combine.AIC()
combines AIC results from many WQS analyses, similar in spirit to pool.mi()
.impute.boot()
performs bootstrapping imputation for many chemicals, not just one.impute.sub()
imputes the values below the detection limit with 1/sqrt(2) of that’s chemical’s detection limit.cat()
used in the functions are changed to messages message()
so that the user can suppress messages using suppressMessage()
.#>
.estimate.wqs()
B
argument: Documentation is clarified when bootstrapping within WQS. You now can do WQS regression without bootstrapping, but it is not recommended.place.bdls.in.Q1
argument now does something. You can set it to FALSE and regular quantiles are made. Passed to make.quantile.matrix()
.offset
argument fixes transfer to glm2()
. User should enter the offset on the normal scale; the logarithm is not taken. It is passed to glm2()
and glm()
. FROM: The offset
argument in glm2()
has a default value of 0. The offset value in estimate.wqs()
by default is a vector of 1’s. NOW: When using glm2()
, offset argument now takes the logarithm as expected in all instances, (especially in wqs.fit()
). User does not change the default of offset value.suppressMessages()
function.wqs.fit()
accessory function instead of code in estimate.wqs()
.c()
.impute.univariate.bayesian.mi()
function:
T
argument: changes default length of chain to 1,000 in order to be consistent with other functions.indicator.miss
output now returns as a single number (a sum) rather than a vector.cov()
function. FROM: The complete.observations
argument was used for observed X. NOW: standard deviations are calculated based on the substituted imputed chemical matrix, X, as covariances may not exist if X has many missing values.initial2
.x.miss.initial
to log.x.miss.initial
.make.quantile.matrix()
:
place.bdls.in.Q1
argument. The default automatically places any missing values in X placed into the first quantile. We suggest the user does not specify this argument unless the user wants to be specific in how missing values in components are handled. In version 0.0.9, this argument previously had no effect on how quantiles were made. This argument now has an effect.cut.default(...): 'breaks' are not unique
. We use the .bincode()
function instead so that ties are handled if they arise.print.wqs()
now concatenates, instead of prints, the convergence of the bootstrap samples.simdata87
data:
Z
contains renamed covariate names for clarity.X.true, X.bdl, DL, delta, n0
: all chemical names are converted to plain text for clarity to be used in R. The “p-p`” are removed, and the “alpha” and “gamma” are spelled out directly.estimate.wqs()
.estimate.wqs()
clearer.print.wqs()
documentationplot.wqs()
function by using ggplot2 instead of base plotting in R.check_function()
and randomize.train()
.NEWS.md
file to track changes to the package.