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.

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.

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, a year 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