get_halflife_points will ignore points after lambda.z.time.last, instead
of tlast (#448)lambda.z calculations will now only consider time points that occur after
the end of the latest dose administration (#139)aucint.inf.pred is NA when half-life is not estimable (#450)PKNCA.options(debug = TRUE).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)exclude_nca_min.hl.adj.r.squared() to allow exclusion of
half-life results based on a minimum adjusted r-squared threshold.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)getGroups() includes the end column when applied to a PKNCAresults object (#419).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/humanpred/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