Note that backward compatibility of function arguments will not be (near-)guaranteed until version 1.0. Argument and function changes will continue until then. These will be especially noticeable around the inclusion of IV NCA parameters and additional specifications of the dosing including dose amount and route.
keep_interval_cols
option can be used to
mitigate this error.NA
results from calculating c0
will now
add an exclusion reason.auciv*
parameters)
now more robustly calculate c0
and does not raise an error
when is.na(c0)
(#353).PKNCAconc()
and PKNCAdose()
can now accept
unit specifications as either column names or units to use (#336).tmax
as a reference for BLQ
handling by using new names in the conc.blq
argument
(before.tmax
,after.tmax
)count_conc_measured
was added to enable
quality checks, typically on AUC measurements. An associated exclusion
function, exclude_nca_count_conc_measured()
was also
added.PKNCAconc()
arguments of
include_half.life
and exclude_half.life
now
allow NA
values. If all values are NA
, then no
inclusion or exclusion is applied (the interval is treated as-is, like
the argument had not been given). If some values are NA
for
the interval, those are treated as FALSE
.group_vars()
methods were added for
PKNCAdata
and PKNCAresults
objects.allow_partial_missing_units = TRUE
. (#398)get_halflife_points()
lets users know
which points were used for half-life calculation. (#387)intervals
data.frame when
creating PKNCAdata. The checking includes confirming intended column
naming and ensuring the correct data types.getGroups.PKNCAdata
function to
capture grouping columns.|>
) so that PKNCA will work
with older versions of R (#304).pk.calc.c0()
will not cause an
error (#344)n == 1
, spread statistics are no longer calculated
in the summary.vd
was removed (it was not specific like
vz
or vss
, and it was effectively a duplicate
of vz
). Use vz
, instead.count_conc
NCA parameter was added to assist in
data quality checking.intervals
argument to
PKNCAdata()
will no longer cause an error (fix #238)assert_*
functions were added to standardize
input checking in the style of the checkmate
library.conc.group
and time.group
arguments to the
imputation functions. And,
PKNCA_impute_method_start_predose()
imputation performs
more reasonably when the end of the interval is infinite.PKNCA.options(progress = )
option (fix #193).as.data.frame.PKNCAresults()
allows you to filter only to
requested results from a PKNCAresults object.pknca_units_table()
now has four new arguments to allow
for simplified automatic conversion from source units to desired
reporting units, concu_pref
, doseu_pref
,
amountu_pref
, and timeu_pref
(#197)as_PKNCA*
functions like
as_PKNCAconc()
which can be used to extract the
concentration data from within a PKNCAdata or PKNCAresults object
(#278)drop_param
argument to summary()
for
PKNCAresults objects.as.data.frame()
method for
PKNCAresults
objects has a new filter_excluded
argument to remove excluded results from the extracted data.frame. The
default behavior is to keep the excluded results with the exclude column
indicating the reason they were excluded.superpostion()
and the
interp.extrap.conc()
family of functions now respect the
interpolation and extrapolation types requested rather than using
default.extrapolate.conc()
using the “AUCall” method now has decreasing instead of increasing
concentrations (#249).NA_real_
(#253)interp.method
and
extrap.method
have been replaced with method
and auc.type
in the interp.extrap.conc()
family of functions for consistency with the rest of PKNCA (fix
#244)depends
argument to add.interval.col()
must either be NULL or a character vector.fun.linear
, fun.log
, and
fun.inf
arguments to pk.calc.auxc
were changed
to use underscores. (If you were using those directly, please reach out
as they were intended to be internal arguments, and I would like to know
your use case for changing them.)check.conc.time()
is defunct (it was never intended to
be an external function). It has been replaced by
assert_conc()
, assert_time()
and
assert_conc_time()
.business...
functions
(e.g. business.geomean()
) now include an attribute in
non-NA
results with n
, the number of values
included in the statistic.pk.calc.aucpext()
was made so that it
now returns NA_real_
instead of NaN
.NA
.aucabove.trough.all
was added to
calculate the NCA above the trough concentration.units
argument to the PKNCAdata()
function and the function pknca_units_table()
.impute
argument to the PKNCAdata()
function
and the Data Imputation vignette.summary()
on a PKNCAresults object shows the units in
the column heading.as.data.frame()
on a PKNCAresults object
with the argument out.format="wide"
, if standardized units
values are available, they will be used. And if any unit are available,
they will be in the column names.summary()
.
pretty_names=FALSE
when calling the summary()
function.pk.calc.time_above()
now uses the default AUC
calculation method for interpolation of time above. And, it can use ‘lin
up/log down’ interpolation.conc_above
as a column to the intervals to allow
calculation of time_above
. With this change, the
“conc_above” PKNCA.options()
value has been removed.getData()
functions were removed.getDataName()
function for PKNCAdata objects was
removed.interpolate.conc()
and
interp.extrap.conc()
now give more errors with missing (NA)
input. This should not affect typical NCA (where NA values are dropped),
but it may affect direct calls to the functions themselves.time_calc()
function will help convert
time values to be relative to events (such as calculating time after and
before doses).lm.fit()
instead of lm()
decreasing time for
a full NCA run by ~30% (and half-life by ~50%).plot.PKNCAconc()
was moved to the
pknca.reporting package
(https://github.com/billdenney/pknca.reporting)summary.PKNCAresults()
now provides a
caption including the summary method for each parameter. If you change
summary functions using PKNCA.set.summary()
, you must now
use the description
option to set the description of the
summary.PKNCAdata()
(fix #72)PKNCAresults
objects.PKNCAdata()
is more restrictive on unknown arguments
issuing an error when unknown arguments are present.intervals
argument to PKNCAdata()
may now
be a tibble (fixes #72).pk.nca
(Fix #68)BACKWARD INCOMPATIBILITY: The function supplied to the exclude argument ‘FUN’ now requires two arguments and operates on the level of a single group rather than the full object. The function can also return the reason as a character string instead of a logical mask of when to exclude data.
BACKWARD INCOMPATIBILITY: Added back-end functionality to only require one function to handle many NCA parameters that are related (e.g. combine pk.calc.aucpext, pk.calc.aucpext.obs, pk.calc.aucpext.pred, etc.). If your current code calls a specific function (like pk.calc.aucpext.pred), you must change to using the generic function (like pk.calc.aucpext)
BACKWARD INCOMPATIBILITY: Functions that previously may have returned Infinity due to dividing by zero (e.g. when AUC=0 calculating clearance) now return NA.
Added Validation vignette.
Corrected issue where time to steady-state with a single estimate may have given more than one estimated time to steady-state.
Corrected issue with exclude handling where now a blank string is also accepted as included (not excluded).
PKNCAconc now accepts a “volume” argument and pk.nca can now calculate urine/feces-related parameters (fe, ae, clr)
exclude_nca* functions added (Fixes issue #20)
Add manual half-life point selection (Fixes issue #18)
Improved summary settings (Fixes issue #54)
Add parameters for Ceoi and intravenous MRT
Updated vignettes to improve clarity
Added dose-normalized PK parameters (Fixes issue #41)
Added checks to confirm that concentration and time are numeric (Fixes feature request #40)
Improved test coverage
This release is not backward compatible. The switch to observed and predicted-related NCA parameters (like aucinf.obs and aucinf.pred) changed the format of the intervals specification.
First release targeting CRAN