diff options
| author | Johannes Ranke <jranke@uni-bremen.de> | 2020-11-07 12:54:58 +0100 | 
|---|---|---|
| committer | Johannes Ranke <jranke@uni-bremen.de> | 2020-11-07 12:54:58 +0100 | 
| commit | 2e37905a7bf0d72751ee7326ef05a268989e49b2 (patch) | |
| tree | cd65d87f8ff258304b26f3aa64e5a8c7216400d6 /docs/dev/reference/loftest.html | |
| parent | cda47972e2b6a9610e3118dcd2270d7a1c76de3d (diff) | |
Create saem generic for fitting saemix models
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.
Diffstat (limited to 'docs/dev/reference/loftest.html')
0 files changed, 0 insertions, 0 deletions
