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.