PFIM 8.0 is a full rewrite of the package on the S7 object system, with C++ (Rcpp/Armadillo) kernels for the FIM and the optimization algorithms.
Evaluation,
Optimization, Model, Fim,
covariates, library of models). Requires R >=
4.5.0.run(),
Report(), the get*() / plot*()
accessors and the class constructors. Pipeline functions are now
internal.
Dcriterion() -> getDcriterion()plotSEFIM() / plotRSEFIM() ->
plotSE() / plotRSE()plotWeightsMultiplicativeAlgorithm() ->
plotWeights()plotFrequenciesFedorovWynnAlgorithm() ->
plotFrequencies()plotEvaluationResults() /
plotEvaluationSI() -> plotEvaluation() /
plotSensitivityIndices()generateReportEvaluation() /
generateReportOptimization() ->
Report()evaluateDesign(), optimizeDesign() and
related helpers -> run()Inf SE.CategoricalCovariate) and inter-occasion variability
(CategoricalCovariateWithIOV, gamma on
parameters).covariateTest() (alias
tost()) and saveCovariateTest().samplingsWindows, numberOfTimesByWindows)
with consistency checks on the initial design.Constant,
Proportional, Combined1,
Combined2 (additive + proportional, PopED-style).outputs in Evaluation() /
Optimization() (e.g. C = A/Vd,
Wout = log10(W)). Sampling times are declared on the model
states (SamplingTimes(outcome = "A")) and residual error
models on the observed responses (Constant(output = "C")),
so the error is applied on the transformed scale (e.g. additive error on
log10(W)).Report() generates HTML reports for evaluations and
optimizations.pfim_get_option(),
pfim_set_option(), pfim_reset_session().Example01 to Example04 and
LibraryOfModels. Example04 reproduces the
PopED G-CSF / filgrastim PK-PD workshop (Design 1 RSE), which is also
checked by the test suite.fixedMu = TRUE, ): the gradient of is now computed, so the
term is kept in the variance and remains estimable. fixedMu
and fixedOmega are now independent.Inf SE and Inf condition number on
non-identifiable directions instead of large finite values.getMixtureDcriterion(),
getRealisedDcriterion()). In joint (multi-outcome)
optimization, the weights are restricted to the winning protocol, and
the study size is split across its arms as in Fedorov-Wynn.1e-4,
matching the weight precision. A run that stops on the cycle budget is
reported as incomplete, with a warning, and no longer as
success.administrationsConstraints is omitted, the dose grid is
taken from the arm’s current administration.numberOfTimesByWindows no longer
leaves the search stuck at its starting point. An infeasible start
raises an error and is no longer reported as
converged = TRUE.converged
is NA when tolerance <= 0 (the stopping
rule is disabled). A warning is issued when the arm sampling times
differ from initialSamplings, which is the actual starting
point.t are evaluated at their own sampling times.
Disease-progression and placebo models from the library evaluate
correctly again.Report() restores the knitr chunk options and no longer
closes the user’s graphics devices.V1). Unknown model names now raise
an error.NA / non-finite parameters, unknown
initial conditions and undeclared covariate categories with a clear
PFIM: error.aut) designed and wrote the entire
source code of PFIM 8.0 (R/S7 code, C++ kernels, testthat and
documentation).cre,
pfim@inserm.fr)
is the package maintainer.Example01, Example02: Romain Leroux and
Jérémy Seurat.Example03: Antoine Croxo and Romain Leroux.Example04, LibraryOfModels: Romain
Leroux.