Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Due to an oversight, error.init was not really passed to saemix_model in
saem.mmkin. The new initial values were reverted to c(1, 1), in order to
avoid changing the test results. Initial values for error model
parameters are now shown in parplot.multistart.
|
|
with the custom lsoda call, avoiding repeated getNativeSymbolInfo calls.
It's just that we should not be calling foreign functions from different
packages, because the may change without notice. Using
getNativeSymbolInfo for "call_lsoda" avoids the CRAN note, and a similar
call could probably be used for "unlock_solver", avoiding the NOTE in
checks for cran, but we should not do this in a CRAN package.
|
|
For the case of mkin transformations. This gives faster convergence,
and appears to avoid problems with numeric ODE solutions
|
|
I think it is always preferable to be able to investigate the
saemix object returned.
|
|
|
|
The bug was introduced by the changes in summary.saem.mmkin.R and
surfaced in the tests when using saemix transformations.
|
|
Update docs
|
|
This is achieved by introducing the argument 'no_random_effect' to the
saem function.
|
|
|
|
|
|
- 'R/mhmkin.R': New method for performing multiple hierarchical mkin fits in one function call, optionally in parallel.
- 'R/saem.R': 'logLik' and 'update' methods for 'saem.mmkin' objects.
- 'R/illparms.R': Add methods for 'saem.mmkin' and 'mhmkin' objects.
tests: Use 2 cores on travis, should work according to docs
|
|
|
|
After the merge, run make test and accept the new snapshot for the mixed
model fit for an nlme object
|
|
|
|
- fit_with_errors for saem()
- test_log_parms for mean_degparms() and saem()
|
|
Also after the upgrade from buster to bullseye of my local system, some
test results for saemix have changed.
|
|
- Improve authorship and copyright information
- Prepare pkgdown config
- Remove dependence on saemix as we need the development version which
is not ready for CRAN
- Temporarily remove saemix interface to check code coverage of the rest
|
|
This makes fitting with saem within parallel::mclapply much faster
and, surprisingly, much less hungry for RAM.
|
|
|
|
Address release critical check and test issues
|
|
|
|
|
|
I threw out mclapply as it did not play well with the linear algebra
routines used in the saemix code. Most of the change is actually
indentation in the code creating the model function. But there
is an important fix in mkinpredict which I had broken.
|
|
|
|
|
|
|
|
|
|
|
|
With a plot method. The class mixed.mmkin is currently only a virtual
class created to unify the plotting method.
|
|
|
|
Currently SFO-SFO and DFOP-SFO. Speed increase factor about 60
|
|
Also make the endpoints function work for saem objects.
|
|
The reasons for this decision were
- Creating an saemix generic in the saemix package caused problems with
roxygen, because functions like saemix.plot.xy were documented in
their help files as S3 methods, although explicitly exported with
@export
- Creating an saemix generic in this package is possible, but would
make it necessary to load samix with exclude = "saemix" in order to
avoid overwriting the generic when loading saemix.
- The return object of such an saemix generic in this package cannot
be an S3 class with class attribute c("saemix.mmkin", "SaemixObject")
similar to nlme.mmkin, as saemix returns an S4 class.
- Extending the S4 class SaemixObject using simple inheritance to
a class SaemixMmkinObject with additional slots did not work
as expected. When the initialize method was left untouched, it
prevented creation of an SaemixMmkinObject even if it was based
on an initialised SaemixObject, as the initialize method seems
to always be called by new(). This could potentially be circumvented
by a coerce method. If an alternative initialize method was
used, an SaemixMmkinObject could be created. However, the methods
written for SaemixObjects only worked in some instances, either
because they checked for the class, and not for class inheritance
(like compare.saemix), or because the initialize method was called
for some reason. Therefore, the idea of creating a derived S4 class
was abandoned.
- A side effect of this decision is that the introduction of the saem
generic opens the possibility to use the same generic also for other
backends like nlmixr with the SAEM algorithm.
|