From 2e37905a7bf0d72751ee7326ef05a268989e49b2 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Sat, 7 Nov 2020 12:54:58 +0100 Subject: 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. --- NAMESPACE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'NAMESPACE') diff --git a/NAMESPACE b/NAMESPACE index 33f3dec0..3360f861 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -28,7 +28,7 @@ S3method(print,nlme.mmkin) S3method(print,summary.mkinfit) S3method(print,summary.nlme.mmkin) S3method(residuals,mkinfit) -S3method(saemix,mmkin) +S3method(saem,mmkin) S3method(summary,mkinfit) S3method(summary,nlme.mmkin) S3method(update,mkinfit) @@ -77,7 +77,7 @@ export(parms) export(plot_err) export(plot_res) export(plot_sep) -export(saemix) +export(saem) export(saemix_data) export(saemix_model) export(sigma_twocomp) -- cgit v1.2.1