Learn R Programming

PopED (version 0.1.0)

blockfinal_2: Result function for optimization routines

Description

Create some output to the screen and a text file that summarizes the problem you solved.

Usage

blockfinal_2(fn, fmf, dmf, groupsize, ni, xt, x, a, model_switch, bpop, d, docc,
  sigma, m, poped.db, opt_xt = poped.db$optsw[2], opt_a = poped.db$optsw[4],
  opt_x = poped.db$optsw[4], fmf_init = NULL, dmf_init = NULL,
  param_cvs_init = NULL)

Arguments

fmf_init
Initial FIM.
dmf_init
Initial OFV.
param_cvs_init
The inital design parameter RSE values.
fmf
The initial value of the FIM. If set to zero then it is computed.
dmf
The inital OFV. If set to zero then it is computed.
ni
A vector of the number of samples in each group.
xt
A matrix of sample times. Each row is a vector of sample times for a group.
x
A matrix for the discrete design variables. Each row is a group.
a
A matrix of covariates. Each row is a group.
model_switch
A matrix that is the same size as xt, specifying which model each sample belongs to.
poped.db
A PopED database.
opt_xt
Should the sample times be optimized?
opt_a
Should the continuous design variables be optimized?
opt_x
Should the discrete design variables be optimized?
groupsize
A vector of the numer of individuals in each group.
bpop
Matrix defining the fixed effects, per row (row number = parameter_number) we should have:
  • column 1 the type of the distribution for E-family designs (0 = Fixed, 1 = Normal, 2 = Uniform, 3 = User Defined Distribution, 4 = lognormal and 5 = t
d
Matrix defining the diagnonals of the IIV (same logic as for the fixed efects). can also just supply the parameter values as a c().
docc
Matrix defining the IOV, the IOV variances and the IOV distribution
sigma
Matrix defining the variances can covariances of the residual variability terms of the model. can also just supply the diagnonal parameter values (variances) as a c().
m
Number of groups/individuals
fn
The file handle to write to.

See Also

Other Helper: blockexp; blockheader_2; blockopt_2

Examples

Run this code
## Warfarin example from software comparison in:
## Nyberg et al., "Methods and software tools for design evaluation 
##   for population pharmacokinetics-pharmacodynamics studies", 
##   Br. J. Clin. Pharm., 2014. 

## Optimization using an additive + proportional reidual error to 
##   avoid sample times at very low concentrations (time 0 or very late samoples).
library(PopED)

## find the parameters that are needed to define from the structural model
ff.PK.1.comp.oral.sd.CL

## -- parameter definition function 
## -- names match parameters in function ff
sfg <- function(x,a,bpop,b,bocc){
  parameters=c(CL=bpop[1]*exp(b[1]),
               V=bpop[2]*exp(b[2]),
               KA=bpop[3]*exp(b[3]),
               Favail=bpop[4],
               DOSE=a[1])
  return(parameters) 
}

## -- Define initial design  and design space
poped.db <- create.poped.database(ff_file="ff.PK.1.comp.oral.sd.CL",
                                  fg_file="sfg",
                                  fError_file="feps.add.prop",
                                  bpop=c(CL=0.15, V=8, KA=1.0, Favail=1), 
                                  notfixed_bpop=c(1,1,1,0),
                                  d=c(CL=0.07, V=0.02, KA=0.6), 
                                  sigma=c(0.01,0.25),
                                  groupsize=32,
                                  xt=c( 0.5,1,2,6,24,36,72,120),
                                  minxt=0,
                                  maxxt=120,
                                  a=70,
                                  mina=0,
                                  maxa=100)
# warfarin optimization model 


FIM <- evaluate.fim(poped.db) 
dmf <- det(FIM)


blockfinal_2(fn="",fmf=FIM,
             dmf=dmf,
             groupsize=poped.db$groupsize,
             ni=poped.db$gni,
             xt=poped.db$gxt,
             x=poped.db$gx,a=poped.db$ga,
             model_switch=poped.db$global_model_switch,
             poped.db$param.pt.val$bpop,
             poped.db$param.pt.val$d,
             poped.db$docc,
             poped.db$param.pt.val$sigma,
             poped.db$m,
             poped.db,
             opt_xt=TRUE,
             fmf_init=FIM,
             dmf_init=dmf,
             param_cvs_init=rbind(get_rse(FIM,poped.db,use_percent=FALSE)))

Run the code above in your browser using DataLab