Releases: nlmixr2/nlmixr2est
v2.2.1
nlmixr2est 2.2.1
- Align with the possibility that linCmt sensitivities may not be
present (like intel c++)
Bug fix
focei
cache needs to be based on the parameter order as well as
the model information (#415)
What's Changed
- 415 nlmixr2est focei needs to cache based on thetaomega order by @mattfidler in #416
Full Changelog: v2.2.0...v2.2.1
v2.2.0
New Features
-
Algebraic mu referencing has been implemented in
nlme
andsaem
. -
New estimation method "nlm" has been added to estimate population
only likelihoods usingstats::nlm
and possibly return a
standardizednlmixr2
fit. -
New estimation method "nls" has been added to estimate population
only problems. This usesminpack.lm::nlsNM
by default if
present, or thestats::nls
-
New estimation method "optim" has been added to estimate population
only likelihoods. This usesstats::optim
and returns a
standardizednlmixr2
fit. -
New estimation method "nlminb" has been added to estimate population
only likelihoods. This usesstats::nlminb
and returns a
standardizednlmixr2
fit. -
New estimation methods from the
minqa
package: "bobyqa", "uobyqa"
and "newuoa" have been added to estimate population only
likelihoods. These methods returns a standardizednlmixr2
fit. -
New estimation method "lbfgsb3c" to estimate population only
likelihoods. This returns a standardizednlmixr2
fit. -
New estimation method "n1qn1" to estimate population only
likelihoods. This returns a standardizednlmixr2
fit. -
Added new feature for
vpcSim()
where a minimum number of subjects
are simulated from the model when trying to fill in ODEs that were
not solved successfully. By default this is10
. This also
works-around a bug when there is only one subject simulated and the
data.frame
has a slightly different output.
Breaking changes
-
Removed
fit$saemTransformedData
since it isn't actually used in
saem
anymore (but will break anyone's code who is using it) -
Now the internal function
.foceiPreProcessData()
requires the
rxode2 controlrxControl()
because some of the new steady state
lag features need to translate the data differently based on
rxControl()
options.
Bug fixes
-
Printing models with correlated omega values and omega values fixed
to zero no longer fails (#359) -
Add back values for $parHistData (#368)
-
This requires a new
rxode2
which will fix multiple endpoint issues observed (#394) -
Manual back-transformed values in
$parFixed
are now displaying
correctly and are calculated based on the confidence interval in the
control instead of 95% confidence no matter what (#397)
Other changes
- An
as.rxUi()
method was added for fit models (#377)
What's Changed
- Add mu2 processing by @mattfidler in #354
- Fix #359 by @billdenney in #360
- Return fit without table if table step fails by @mattfidler in #364
- Fix 366 by @billdenney in #367
- Only keep $parHistData and calc $parHist and $parHistStacked by @mattfidler in #370
- Clarify keep argument to vpcSim() by @billdenney in #380
- Quieter compile by @billdenney in #381
- 376 make sure and test that fit$eta are non zero by @mattfidler in #383
- With a zero gradient always reset by @mattfidler in #384
- 387 sslag ettrans rxcontrol update by @mattfidler in #388
- 394 error drugmetabolite modeing after zero oder absorption by @mattfidler in #395
- V2.1.7 by @mattfidler in #396
- Fix for #397, needs test still by @mattfidler in #398
- add as.rxUi() method for fit objects by @billdenney in #378
- V2.1.8 by @mattfidler in #401
- 402 nlm by @mattfidler in #403
- 404 nls by @mattfidler in #405
- 406 optim by @mattfidler in #407
- Fix lbfgsb3c documentation by @mattfidler in #408
- Udf by @mattfidler in #409
- 411 cran requests by @mattfidler in #413
Full Changelog: v2.1.8...v2.2.0
v2.1.8
nlmixr2est 2.1.8
- Version bump and a minor documentation update (same as nlmixr2est
2.1.7). This version bump is to simply allow correct binary linkage
to rxode2 2.0.14. Otherwisenlmixr2
models will crash R.
nlmixr2est 2.1.7
-
As requested by CRAN, remove
Rvmmin
-
Values in
$parFixed
for BSV without exponential transformation are now
correctly shown (#366)
v2.1.7
v2.1.6
Breaking changes
- Since
rxode2
now allows simulation withomega
having diagonal
zero elements,$omega
and$omegaR
now reflects this information
including the zero omega elements in the output. On the other hand,
the other eta-information and standard error information for zero
etas are still excluded in$phiR
,$phiSE
,$eta
etc.
Bug fixes
-
vpcSim()
works when an eta value is fixed to 0 (#341) -
augPred()
now consistently uses the simulation model (instead of
the inner model used forCWRES
calculation).
What's Changed
- Add mu ref fix by @mattfidler in #338
- Make addCwres() error clearer for model with no etas by @billdenney in #340
- Update documentation to link parts together (and some minor code formatting changes) by @billdenney in #345
- vpcSim works with etas set to 0 by @billdenney in #342
- Warn on time-varying covariate changes by @mattfidler in #349
- Adds documentation for the nlmixr2 object by @john-harrold in #351
- Aug pred fix by @mattfidler in #352
New Contributors
- @john-harrold made their first contribution in #351
Full Changelog: v2.1.5...v2.1.6
v2.1.5
-
Add
$fitMergeFull
,$fitMergInner
,$fitMergeLeft
,
$fitMergeRight
as a complement to$dataMergeFull
,
$dataMergInner
,$dataMergeLeft
,$dataMergeRight
. The fit
variants prefer columns in the fit dataset instead of the original
dataset. This is useful for goodness of fit plots with censoring
since theDV
in the fit simulates values under the ipred/residual
assumption and will give more appropriate goodness of fits,
otherwise these values are the limit of whatever censoring is
applied -
Moved the mu reference fix for the split mu referenced model here
(from babelmixr2)
What's Changed
- Add simulation method by @mattfidler in #333
- 335 for $datamerge family prefer fit object instead of original data by @mattfidler in #336
Full Changelog: v2.1.4...v2.1.5
v2.1.4
nlmixr2est 2.1.4
-
Breaking change, now calculate condition number based on covariance
and correlation, the names have changed to be more explicit.
conditionNumber
changed toconditionNumberCov
and a new metric
conditionNumberCor
has been added. -
A bug in boundary value detection prevented automatic covariance calculation
with FOCEi estimation (#318) -
Fix
vpcSim
so that it will be a bit more robust when it is
difficult to simulate. -
A bug in model piping which did not allow models to be appended to was fixed
(rxode2#364) -
An internal change was made in
nlmixr2.rxUi()
to better support the
babelmixr2 PKNCA estimation method (babelmixr2#75) -
Fixed bug where
$iniUi
did not return the initial ui when running
nonfocei
related methods. Also added alias of$uiIni
to the
same function. -
Dropped Stan headers for this package, also updated to C++17
What's Changed
- 289 issue in obtaining model estimates by @mattfidler in #290
- Fix rxode2 #364 by @billdenney in #292
- Remove debugging statement by @billdenney in #299
- Make some focei methods for simulation that are closer to est model by @mattfidler in #308
- 302 mu reference definition isnt correct for non mu referenced model by @mattfidler in #304
- Fallback to old method by @mattfidler in #310
- drop stan headers and eigen by @mattfidler in #319
- 318 fix bound by @billdenney in #321
- Make package installation consistent; fix typos; use label() by @billdenney in #325
- Speed up some testing by minimizing the fit iterations by @billdenney in #324
- Allow for babelmixr2::pkncaControl() not to set genRxControl by @billdenney in #326
- 311 condition numbers by @mattfidler in #323
- 316 wrong initial values in nlmixr2 object by @mattfidler in #322
- Rebuild documentation by @billdenney in #329
Full Changelog: v2.1.3...v2.1.4
v2.1.3
nlmixr2est 2.1.3
-
Allows
$etaH
and related family to be integrated into asaem
fit
ifcwres
is calculated. -
Fixed a bug where
nlmixrLlikObs
in the merged dataset is sometimes
namedllikObs
, now it is always namednlmixrLlikObs
-
Fixed a bug where
nlmixrLlikObs
shows up in merged dataset when
cwres
is not calculated (it was always0
), also allowcwres
calculation to pick upnlmixrLlikObs
in merged dataset. -
Dropped
dparser
dependency
What's Changed
- 282 $etah not available for saem needs cwres but doesnt pull over standard errors by @mattfidler in #283
- 284 include log likelihood per observation when adding cwres by @mattfidler in #285
- Test nonmu and add test case for merge (and unsuccesful merge) by @mattfidler in #288
Full Changelog: https://github.com/nlmixr2/nlmixr2est/compare/v2.1.2...v2.1.3###
v2.1.2
nlmixr2est 2.1.2
-
Fixes
$etaH
memory corruption so the standard errors of etas are now correct -
Removed the memory requirements for focei by
neta*neta*nsub
-
Fixed character based covariates so the work correctly (again) with
focei. Added a test for this as well.
What's Changed
- Update installation instructions by @billdenney in #265
- Fix $etaH by @mattfidler in #269
- Update CI workflow to current versions by @billdenney in #275
- Update ci by @billdenney in #279
- Start testing bill's example by @mattfidler in #278
- Fuzzy bad, silver good by @mattfidler in #281
- Add ARMA_64BIT_WORD by @mattfidler in #277
Full Changelog: v2.1.0...v2.1.2
v2.1.0
nlmixr2est 2.1.0
Breaking changes
FOCEi
-
Gill forward differences will not repeat now (by default), You can
change back to prior behavior withfoceiControl(repeatGillMax=3)
-
Number of sticky recalculation is reduced to 4; to have the old
behavior usefoceiControl(stickyRecalcN=5)
-
n2ll
has been changed toll
to specify individual
log-likelihoods. This was only used in simulation and was not well
documented. -
Generalized log-likelihood is only supported with
rxode2
2.0.8
or later.
FOCEi covariance calculation
-
The
S
matrix calculation was made a bit more robust to errors in
individual gradients. When there are errors in the individual
gradient calculation, assume the gradient is the same as the
overall gradient. In the tests cases, were reasonable using this
adjusted S matrix. This means if some individuals do not have very
much data to support a specific parameter, aS
matrix calculation
for the population will still be generated. When there is some
patients/subject combinations that do not have sufficient data, we
will add the following to the run information:S matrix had problems solving for some subject and parameters
. TheS
matrix
calculation will still fail if the percentage of parameters that
are being reset is lower thanfoceiControl(smatPer=0.6)
or
whatever you specify. -
The
r,s
covariance matrix will now also check for unreasonably
small values (controlled byfoceiControl(covSmall=...)
) and
select a different covariance estimate method even when the "r" and
"s" matrices are calculated "correctly".
New features
-
What type(s) censoring (if any) is now stored in
fit$censInformation
-
Standard errors of
$etas
can now be obtained withfit$phiSE
,
also available arefit$phiRSE
(relative standard error),
fit$phiH
, (individual hessian),fit$phiC
(individual
covariances),fit$phiR
(individual correlation matrices) -
Can also use Shi 2021 differences in addition to Gill differences.
In our tests (using the same datasets as CPT) these produced worse
estimates than the Gill 1983, though it is unclear why since it
should be a faster more accurate method. A modified version is used
in calculating the individual Hessians of numerically for the
generalized likelihood approach. -
Generalized likelihood estimation is now present in
nlmixr2est
for
focei
,foce
andposthoc
-
nmNearPD()
is a function you may use for nearest positive definite
matrix. This is derived fromMatrix::nearPD()
but is implemented
in C/C++ to be used in (possibly threaded) optimization. -
Individual Hessians can be accessed by
$phiH
, covariance by
$phiC
, eta standard errors by$phiSE
and eta RSEs can be
accessed by$phiRSE
. There areeta
aliases for these as well
($etaH
,$etaC
,$etaSE
, and$etaRSE
). -
Can now access the individual point's contribution to the overall
likelihood when merging to the original dataset. These merges can be
accessed with$dataMergeFull
,$dataMergeLeft
,$dataMergeRight
,
and$dataMergeInner
. The columns with the individual data column
isnlmixrLlikObs
.To calculate the total
focei
/foce
objective function, the sum of the
likelihoods still need to be adjusted by the omega/eta contribution,
and the individual Hessians, and possibly the NONMEM objective
function offset constant.
Censoring fixes
- Fixed bug where datasets with censoring that are not lower case
cens
andlimit
do not
produce the correct table output (#180)
FOCEi updates
- Resets now scale properly when a value is simulated outside the limit
- Models with zero gradients on the first step now switch to
bobyqa
by default. With this, it is more important to examine the model
parameters and fits for plausibility.
What's Changed
- 179 m4 method simulations may be off by @mattfidler in #182
- 151 when i just tried to simulate from my model and data i got the below errors im digging deeper to try to figure out what is the matter by @mattfidler in #187
- Add a different stop so that it gives a bit more information when it … by @mattfidler in #191
- Llik focei by @mattfidler in #188
- 184 feature request move $warnings to $runinfo or something similar and dont warn by @mattfidler in #193
- 200 rcpparmadillo 2 by @mattfidler in #203
- 205 function rxgt is not supported in rxode2 by @mattfidler in #206
- Print out every time by @mattfidler in #207
- Add $dataLloq and $dataUloq to fit by @mattfidler in #212
- Keep vpcSim the same if it is normally related items by @mattfidler in #209
- Fix simulation to support dvid() and models without dvid()/cmt() by @mattfidler in #214
- Fix for vpc sim by @mattfidler in #216
- Fall back to length normalization type by @mattfidler in #219
- 217 rse focei less stable than last release by @mattfidler in #220
- Make sure the etas are fixed with the output by @mattfidler in #224
- 199 running a model changes the source object by @mattfidler in #204
- 226 restart error by @mattfidler in #227
- 228 preds seem wrong when mixing normal log likelihood and non normal log likelihood by @mattfidler in #229
- Now test pred, ipred; pred fails by @mattfidler in #230
- Start splitting out depending on what is available with rxode2 by @mattfidler in #232
- Address issues for nlmixr2est by @mattfidler in #234
- Add new CRAN submission tag by @mattfidler in #235
- Fix split model by @mattfidler in #237
- Add some split testing by @mattfidler in #239
- Check for environment a bit more stricter by @mattfidler in #242
- Handle edge cases for NA predictions by @mattfidler in #243
- Env is compressed by @mattfidler in #245
- 246 nlmixr2est with rxode2parse by @mattfidler in #247
- 246 nlmixr2est with rxode2parse by @mattfidler in #248
- 250 rxode2random by @mattfidler in #251
- 252 use rxode2et by @mattfidler in #253
- Fix and test for non mu-referenced model by @mattfidler in #259
- Make table integration more robust by @billdenney in #256
- Make .foceiPreProcessData() work with tibbles by @billdenney in #262
Full Changelog: v2.0.8...v2.1.0