Population (and Individual) Optimal Experimental Design

Optimal experimental designs for both population and individual studies based on nonlinear mixed-effect models. Often this is based on a computation of the Fisher Information Matrix. This package was developed for pharmacometric problems, and examples and predefined models are available for these types of systems.

Travis-CI Build Status CRAN_Status_Badge codecov.io

PopED computes optimal experimental designs for both population and individual studies based on nonlinear mixed-effect models. Often this is based on a computation of the Fisher Information Matrix (FIM).

You need to have R installed. Download the latest version of R from www.r-project.org. Install PopED in R using one of the following methods:

  • latest stable release -- From CRAN. Write at the R command line:
  • Latest development version -- from Github. Note that the command below installs the "master" (development) branch; if you want the release branch from Github add ref="release" to the install_github() call. The install_github() approach requires that you build from source, i.e. make and compilers must be installed on your system -- see the R FAQ for your operating system; you may also need to install dependencies manually.

Getting started

To get started you need to define

  1. A model.
  2. An initial design (and design space if you want to optimize).
  3. The tasks to perform.

There are a number of functions to help you with these tasks. See ?poped for more information.

There are several other examples, as r-scripts, in the "examples" folder in the PopED installation directory located at:

system.file("examples", package="PopED")

The same examples are located in the "inst/examples" directory of this repository.


PopED News/Changelog

PopED 0.3.2

  • Exported the summary method for the results of poped_optim in the PopED NAMESPACE, so that the method can actually be used! Just use summary(output).

  • Fixed some old bugs that used return as a varible in functions, a la MATLAB.

PopED 0.3.1

  • Added a vignette to introduce PopED!

  • Improved optimization with poped_optim, plus all example scripts now running with poped_optim.

  • Update to more easily allow discrete optimization of xt and a variables. See the example scripts.

  • Added a summary method for the results of poped_optim. Just use summary(output).

  • changed handling of seed numbers in optimizations.

  • more robust handling of non-population models

  • more natural handling of NA values in design vectors

  • NAMESPACE: removed ggplot2 from "Depends" and added to "Imports"

  • Added mean line to efficiency plots.

  • Update to computation and error handling for Laplace approximation to ED objective function.

  • Added more intuitive cost function input. See examples in ?poped_optim

  • Various small changes and bug fixes.

PopED 0.3.0

  • Added new optimization methods and tools, see ?poped_optim(). This function incorporates the new optimization routines optim_ARS() and optim_LS which are optimized versions of previous optimization algorithms used in PopED. Both can be run with parallelization. poped_optim() also incorporates the genetic algorithm from GA::ga(), which can also be run with parallelization, and the "L-BFGS-B" method from stats::optim(). poped_optim() should be more efficient and faster than poped_optimize().

  • Changed the default objective function to be the log of the determinant of the FIM. create.poped.database(ofv_calc_type=4)

  • Various small changes and bug fixes.

PopED 0.2.0

  • Fixed plot_efficiency_of_windows() bug that had wrong headers on each subplot.

  • Fixed bug in plot_model_prediction() that did not plot the optimized design, but instead the initial design

  • Reorganized the database created from create.poped.database(). The output from this function is now a list with 5 sub-lists: design, design_space, model, parameters and settings. Also removed duplicate entries in the database for easier manipulation. This will cause some back compatibility issues when refering to elements in a database.

  • Added example 10 describing a PKPD design of hepatitis C virus (HCV) kinetics to the system.file("examples",package="PopED") directory of the PopED installation.

PopED 0.1.2

  • Updated model_prediction() to allow for creation of NONMEM datasets.
    Useful for testing of optimized designs via PsN's (http://psn.sf.net) SSE tool, for example.

  • Two new functions create_design() and create_design_space() that allow for design and design space creation without the need for a model or parameter values.

  • Updated the create.poped.database() function to use create_design() and create_design_space()

  • Added examples for evaluation and optimization of a one-target quasi-steady-state target mediated drug disposition model (TMDD) to the system.file("examples",package="PopED") directory of the PopED installation.

  • Added a 2-compartment, oral absorption, multiple dose example to the system.file("examples", package="PopED") directory of the PopED installation.

  • Updated plot_efficiency_of_windows() to allow for the plotting of the RSE of each parameter on the y-axis.

  • Updated error handing for the Laplace approximation of the ED OFV.

  • Fixed bug when computing FIM with only one BSV term present in model (calculation gave an error).

  • Fixed a bug in plot_model_predictions where an error was returned if not all time values in the xt matrix were to be used for the design calculation (ni is different from size(xt,2), see ?create_poped_database).

  • Various small bug fixes.

PopED 0.1.1

  • Updated package author list

  • New functionality to compute the ED OFV using the Laplace approximation. This can be orders of magnitude faster than the standard MC integration approach. See '?ed_laplace_ofv' and '?evaluate.e.ofv.fim'

  • Added a general function to compute the FIM and OFV(FIM) for all avaialbale methods in PopED. See '?calc_ofv_and_fim'.

  • Added a general optimization algorithm 'RS_opt_gen()' that works for both D-family and E-family optimization.

  • Added optimization of E-family designs to 'poped_optimize()'.

  • Changed distribution tests for package building

  • Fixed bug where correlations between BSV (between subject variability) terms in the model gave an error when creating a PopED database

  • Fixed a bug where get_rse failed when a parameter had a value of 3.

PopED 0.1.0

  • PopED has been translated to R from MATLAB and this is the initial release.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.3.2 by Andrew C. Hooker, 2 years ago


Report a bug at https://github.com/andrewhooker/PopED/issues

Browse source code at https://github.com/cran/PopED

Authors: Andrew C. Hooker [aut, cre, trl, cph], Sebastian Ueckert [aut] (MATLAB version), Marco Foracchia [aut] (O-Matrix version), Joakim Nyberg [aut] (MATLAB version), Eric Stroemberg [ctb] (MATLAB version)

Documentation:   PDF Manual  

Task views: Design of Experiments (DoE) & Analysis of Experimental Data

LGPL (>= 3) license

Imports ggplot2, MASS, mvtnorm, dplyr, codetools, stats, utils

Suggests testthat, Hmisc, nlme, GA, deSolve, shiny, rhandsontable, knitr, rmarkdown

See at CRAN