Description Usage Arguments Examples
A helper function for writing output to the screen and files when optimizing.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Dtrace(
fn,
it,
ni,
xtopt,
xopt,
aopt,
gxt,
ga,
dmf,
diff,
ixt,
ia,
itvector,
dmfvector,
poped.db,
opt_xt = poped.db$settings$optsw[2],
opt_a = poped.db$settings$optsw[4],
opt_x = poped.db$settings$optsw[3],
opt_samps = poped.db$settings$optsw[1],
opt_inds = poped.db$settings$optsw[5],
rsit = poped.db$settings$rsit,
convergence_eps = poped.db$settings$convergence_eps
)
|
fn |
A file to output information to. Can also be the screen if |
it |
the iteration number. |
ni |
A vector of the number of samples in each group. |
xtopt |
The matrix defining current best sampling schedule. |
xopt |
The cell structure defining the current best discrete design variables. |
aopt |
The matrix defining the current best continuous design variables. |
gxt |
The matrix defining the current gradient of the xt vector. |
ga |
The matrix defining the current gradient for the continuous design variables. |
dmf |
The current OFV. |
diff |
The difference from the previous iteration. |
ixt |
If xt Gradient Inversion occurred or not. |
ia |
If a Gradient Inversion occurred or not. |
itvector |
The iteration vector. Not currently used. |
dmfvector |
The dmf vector. Not currently used. |
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? |
opt_samps |
Are the number of sample times per group being optimized? |
opt_inds |
Are the number of individuals per group being optimized? |
rsit |
Number of Random search iterations |
convergence_eps |
Stochastic Gradient convergence value, (difference in OFV for D-optimal, difference in gradient for ED-optimal) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | library(PopED)
############# START #################
## Create PopED database
## (warfarin model for optimization)
#####################################
## 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 samples).
## 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_fun=ff.PK.1.comp.oral.sd.CL,
fg_fun=sfg,
fError_fun=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(prop=0.01,add=0.25),
groupsize=32,
xt=c( 0.5,1,2,6,24,36,72,120),
minxt=0.01,
maxxt=120,
a=c(DOSE=70),
mina=c(DOSE=0.01),
maxa=c(DOSE=100))
############# END ###################
## Create PopED database
## (warfarin model for optimization)
#####################################
FIM <- evaluate.fim(poped.db)
dmf <- det(FIM)
Dtrace(fn="",
it=1,
ni=poped.db$design$ni,
xtopt=poped.db$design$xt,
xopt=poped.db$design$x,
aopt=poped.db$design$a,
gxt=0,ga=0,
dmf=dmf,diff=3,
ixt=FALSE,
ia=FALSE,
itvector=NULL,
dmfvector=NULL,
poped.db,
opt_xt=poped.db$settings$optsw[2],
opt_a=poped.db$settings$optsw[4],opt_x=poped.db$settings$optsw[3],
opt_samps=poped.db$settings$optsw[1],opt_inds=poped.db$settings$optsw[5],
rsit=200)
Dtrace(fn="",
it=1,
ni=poped.db$design$ni,
xtopt=poped.db$design$xt,
xopt=poped.db$design$x,
aopt=poped.db$design$a,
gxt=0,ga=0,
dmf=dmf,diff=3,
ixt=FALSE,
ia=FALSE,
itvector=NULL,
dmfvector=NULL,
poped.db,
opt_xt=poped.db$settings$optsw[2],
opt_a=poped.db$settings$optsw[4],opt_x=poped.db$settings$optsw[3],
opt_samps=poped.db$settings$optsw[1],opt_inds=poped.db$settings$optsw[5],
rsit=0)
Dtrace(fn="",
it=1,
ni=poped.db$design$ni,
xtopt=poped.db$design$xt,
xopt=poped.db$design$x,
aopt=poped.db$design$a,
gxt=0,ga=0,
dmf=dmf,diff=3,
ixt=FALSE,
ia=FALSE,
itvector=NULL,
dmfvector=NULL,
poped.db,
opt_xt=poped.db$settings$optsw[2],
opt_a=poped.db$settings$optsw[4],opt_x=poped.db$settings$optsw[3],
opt_samps=poped.db$settings$optsw[1],opt_inds=poped.db$settings$optsw[5],
rsit=1)
Dtrace(fn="",
it=1,
ni=poped.db$design$ni,
xtopt=poped.db$design$xt,
xopt=poped.db$design$x,
aopt=poped.db$design$a,
gxt=0,ga=0,
dmf=dmf,
diff=0,
ixt=FALSE,
ia=FALSE,
itvector=NULL,
dmfvector=NULL,
poped.db,
opt_xt=poped.db$settings$optsw[2],
opt_a=poped.db$settings$optsw[4],opt_x=poped.db$settings$optsw[3],
opt_samps=poped.db$settings$optsw[1],opt_inds=poped.db$settings$optsw[5],
rsit=1)
Dtrace(fn="",
it=5,
ni=poped.db$design$ni,
xtopt=poped.db$design$xt,
xopt=poped.db$design$x,
aopt=poped.db$design$a,
gxt=0,ga=0,
dmf=dmf,
diff=0,
ixt=FALSE,
ia=FALSE,
itvector=NULL,
dmfvector=NULL,
poped.db,
opt_xt=poped.db$settings$optsw[2],
opt_a=poped.db$settings$optsw[4],opt_x=poped.db$settings$optsw[3],
opt_samps=poped.db$settings$optsw[1],opt_inds=poped.db$settings$optsw[5],
rsit=1)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.