metamodels_overview.Rmd
Metamodel is a file with .mmdl extension that makes integration of RsNLME into Pirana seamlessly. It contains all the information needed to run a PML (Pharmacometric Modeling Language behind Phoenix NLME and RsNLME) model. In such sense, it is similar to the control file in NONMEM. The purpose of this vignette is to give an overview of metamodels and to demonstrate how they can be useful for easy storing, fitting, and exploring PML models. To do this, we need to understand how PML models are run in Phoenix NLME and RsNLME.
Here we assume that both input data and PML model files are in the current working directory. In addition, the directory with NLME Engine is assumed to be given as an environment variable (INSTALLDIR), which can be checked with the following commands:
# loading the package
library(Certara.RsNLME)
Sys.getenv("INSTALLDIR")
1] "C:\\Program Files\\Certara\\NLME_Engine" [
These assumptions will be applied to the rest of this document.
Phoenix NLME users may know that the PML model used in Phoenix infrastructure has an .mdl extension with statements/equations/assignments. However, it does not contain any information on the dataset to be used, columns to be mapped to model variables, or tables to be generated (e.g., see below for an example of PML models whose syntax can be found here).
test(){
cfMicro(A1, Cl / V)
dosepoint(A1)
C = A1 / V
error(CEps = 0.1)
observe(CObs = C * (1 + CEps))
stparm(V = tvV * exp(nV))
stparm(Cl = tvCl * exp(nCl))
fixef(tvV = c(, 5, ))
fixef(tvCl = c(, 1, ))
ranef(diag(nV, nCl) = c(1, 1))
}
The reason behind this is that Phoenix project keeps all the information (e.g., model, data, and mapping), which is loaded by NLME Exectutables only during execution. However, if the user wants to run PML models in command line, data and column definition (relationship between data columns and model variables, tables to be generated, additional input options such as ADDL and SS) files should be provided along with engine arguments:
%INSTALLDIR%\runNLME.bat 5 100 OneCpt_IVInfusion.mdl columnMapping.txt OneCpt_IVInfusionData.csv
Alternatively, the user can run PML models in RsNLME command-line interface. To do this, the user needs to provide input data and PML model files to create a model object. Then, mappings between data columns and model variables need to be provided if they are not automatically mapped. In addition, if any additional input options (such as ADDL, SS, Reset, MDV, and infusion) is desired, it should be provided too. An example to run a PML model is given as follows:
PMLModelCodeOutput <-"
test(){
cfMicro(A1, Cl / V)
dosepoint(A1)
C = A1 / V
error(CEps = 0.1)
observe(CObs = C * (1 + CEps))
stparm(V = tvV * exp(nV))
stparm(Cl = tvCl * exp(nCl))
fixef(tvV = c(, 5, ))
fixef(tvCl = c(, 1, ))
ranef(diag(nV, nCl) = c(1, 1))
} "
<- file.path(tempdir(TRUE), "OneCpt_IVInfusion.mdl")
PMLModelCodeFile writeLines(PMLModelCodeOutput, PMLModelCodeFile)
# for the input data description please refer to ?OneCpt_IVInfusionData
# Create the model object
<- textualmodel(modelName = "OneCpt_IVInfusion",
model mdl = PMLModelCodeFile,
data = OneCpt_IVInfusionData)
# View the model and its associated column mappings
print(model)
Model Overview -------------------------------------------
: OneCpt_IVInfusion
Model Name : C:/Users/jcraig/Documents/GitHub/R-RsNLME/vignettes/OneCpt_IVInfusion
Working Directory : Textual
Model Type
PML -------------------------------------------
test(){
cfMicro(A1, Cl / V)
dosepoint(A1)
= A1 / V
C error(CEps = 0.1)
observe(CObs = C * (1 + CEps))
stparm(V = tvV * exp(nV))
stparm(Cl = tvCl * exp(nCl))
fixef(tvV = c(, 5, ))
fixef(tvCl = c(, 1, ))
ranef(diag(nV, nCl) = c(1, 1))
}
Structural Parameters -------------------------------------------
V Cl-------------------------------------------
Column Mappings -------------------------------------------
: Data Column name
Model Variable Name : ?
id : Time
time : ?
A1 : CObs
CObs # Manually map the un-mapped model variables
modelColumnMapping(model) <- c(id = "Subject", A1 = "Dose")
# Add infusion information for dosing compartment A1
<- addInfusion(model, "A1", isDuration = TRUE, colName = "Duration") model
Overall, we see that, to run PML models in command line, the user should provide at least two files: a .mdl file for PML model, and a file for column definitions/mappings. Metamodel concept allows users to integrate these parts in one file.
Metamodels consist of different blocks, which start with doubled number sign (##) and the name of the block. The syntax for comments in metamodels is the same as the one in PML models: single line can be commented by ‘#’ or ‘//’, and multiple lines can be commented by /*…*/.
Author:
The author of the metamodel. An example of usage:
##Author: User
This block is not used for estimation, and hence can be omitted.
Description:
Used by Pirana for the description column presentation with the purpose to understand the goal of the metamodel created.
An example of usage:
##Description: User
This block is not used for estimation, and hence can be omitted.
Based on
Provide the name of the reference metamodel, which is used by Pirana for the reference trees building.
An example of usage:
##Based on mmdl1
This block is not used for estimation, and hence can be omitted.
DATA
A mandatory block specifying the path of the input data. Both
absolute and relative paths are acceptable. The
data.table::fread()
function with default settings is used
to load the data.
An example of usage:
##DATA ./data.csv
MAP
This block is used to specify mappings between model variables and
data columns through “=” sign: “variableName=columnName”. If the mapping
for a model variable is not specified, then the name of the model
variable is assumed to be the same as the one for its corresponding data
column: CObs=CObs
is equal to CObs
.
There are some special variables that are not presented in the model but are needed to be mapped to their corresponding data columns can also be specified in this block. These variables are listed below:
id
It is required to be mapped for population models to identify individual data profiles for different subjects data distinction. The user can map up to five data columns to it with column names separated by comma.
time
It is required to be mapped for time-based models.
dosingCompartmentName_Rate
Mapping this variable to its corresponding data column will indicate that the associated dosing compartment involves infusion with rate information provided.
dosingCompartmentName_Duration
Mapping this variable to its corresponding data column will indicate that the associated dosing compartment involves infusion with duration information provided.
SS
Mapping this variable to its corresponding data column if the input data contains a column indicating steady state. This specification will be translated to sscol statement in the column definition file.
SSOffSet
Mapping this variable to its corresponding data column if the input data contains a column indicating SSOffSet. Only applicable to the case where SS appears in the MAP block. This specification will be translated to ssoffcol statement in the column definition file.
ADDL
Mapping this variable to its corresponding data column if the input data contains an additional identical dose column. This specification will be translated to addlcol statement in the column definition file.
II
It denotes the inter-dose interval, and must be mapped to its corresponding data column when either SS or ADDL appears in the MAP block. This specification will be translated to iicol statement in the column definition file.
MDV
Mapping this variable to its corresponding data column if the input data contains a MDV column. If mapped, those observations corresponding to the rows in the MDV column having non-zero numeric values will be ignored.
Reset
Mapping this variable to its corresponding data column if the input data contains a column indicting reset with lowest and highest values being 4.
An example in which id
is mapped to two data columns,
Study
and Subject
:
## MAP id = Study, Subject time = Time Aa = Dose CObs
An example of usage where dosing compartment, A1
,
involves infusion with rate information provided in the data column
Rate
:
##MAP id = Subject time = Time A1 = Dose A1_Rate = Rate CObs
For a categorical covariate (specified through either fcovariate
or covariate
with the covariate name followed by an empty parenthesis), if its
corresponding data column is of class character, then the user can also
use the ##MAP
block to define the label name for each of
its category values. Specifically, label names are given in round
brackets right after the column name (Note: label names with spaces are
not supported by NLME): both with and without quotation marks around the
label name are supported. See below for an example in which categorical
covariate, Sex
, is mapped to data column
“Gender”
that has values “Male” and “Female”.
##MAP id = Subject time = Time Aa = Dose CObs
Sex = Gender(Male = 0, Female = 1)
DOSING CYCLE
This block provides an alternative way to define ADDL or steady state (SS) by specifying dosing cycle information for each of the involved dosing compartments (more information can be found here for ADDL and here for SS on this topic). The syntax for defining SS and ADDL are respectively given as follows:
SS = [COL] Dosepoint = [CMT] Amount = [NUM/COL] Delta = [NUM/COL] Duration = [NUM/COL] Rate = [NUM/COL]
ADDL = [COL] Delta = [NUM/COL] Dosepoint = [CMT] Amount = [NUM/COL] Duration = [NUM/COL] Rate = [NUM/COL]
Here [COL] is a column name with ADDL/SS flag,
[CMT] is a dosing compartment name from the model,
[NUM/COL] is a column name or a numeric value.
and argument Delta denotes the inter-dose interval.
An example of usage:
##DOSING CYCLE SS=SS Dosepoint = Aa Delta = 10 Amount = Dose Duration = 5
# A single line comment could be started with a simple number sign “#”
# Here it is assumed that the input dataset contains 'SS' and 'Dose' columns
# and the model has 'dosepoint(Aa)' statement.
# Each dosing cycle lasts 10 time units with the amount and
# the duration of the infusion set to ‘Dos’ and 5 time units, respectively.
Another example:
##DOSING CYCLE ADDL = ADDL DELTA = II AMOUNT = Dose Dosepoint = A1
# It is assumed that the input data contains 'ADDL', 'II' and 'Dose' columns
# and the model has 'dosepoint(A1)' statement.
# The dose is administered to ‘A1’ as a bolus with amount set to be ‘Dose’,
# and the inter-dose interval is set to ‘II’.
COLDEF
This block is used to define column definitions, which can be
provided through the syntax given here.
It is particularly useful for the case where column definitions cannot
be defined through neither ##MAP
nor
##DOSING CYCLE
blocks. For example, see below for an
example on using ##COLDEF
block to define the column
definition for the case where the input data contains a
Reset
column with lowest and highest values being 1 and 4,
respectively.
##COLDEF
reset("Reset", c(1, 4))
Experienced users may want to omit ##MAP
block and
provide all definitions in this block. It is also possible to use both
##MAP
and ##COLDEF
blocks, in such case, they
are appended. An example of usage where all the column definitions are
defined in this block:
##COLDEF id("id")
time("time")
dose(A1<-"dose")
covr(sex<-"sex"("male" = 0, "female" = 1))
covr(wt<-"wt")
obs(CObs<-"conc")
MODEL
This block is mandatory, and is used to specify the PML model. See “Modeling Syntax” for details on the available statements.
An example of usage:
##MODEL
test(){
cfMicro(A1, Cl / V)
dosepoint(A1)
C = A1 / V
error(CEps = 0.1)
observe(CObs = C * (1 + CEps))
stparm(V = tvV * exp(nV))
stparm(Cl = tvCl * exp(nCl))
fixef(tvV = c(, 5, ))
fixef(tvCl = c(, 1, ))
ranef(diag(nV, nCl) = c(1, 1))
}
ESTARGS
This block is used to specify the values of engine arguments through the syntax provided by the R function, engineParams(), in the Certara.RsNLME package with arguments separated by either comma or space. If not provided, then the default values will be used.
An example of usage:
##ESTARGS
method = "QRPEM",
iSample = 1200,
maxStepsODE = 50000000,
mapAssist = 1,
ODE = "AutoDetect",
numIterations = 0
TABLES
This block is used to define additional tables to be outputted (Note: posthoc.csv table is created by default with structural parameters and covariates outputted at each data row). The syntax for table statement can be found here.
An example of usage:
##TABLES
table(file=“table01.csv”, time(0,10,seq(2,8,0.1)),
dose(A1), covr(BW), obs(Conc), BW, C, cObs, V, Ke)
It is worth pointing out that tables are part of column definition,
and hence they can be defined in the ##COLDEF
block instead
of the ##TABLES
block. If they are defined in both blocks,
then all of them will be added to the column definition file.
Now we create a simple metamodel and name it as OneCpt_IVInfusion.mmdl.
## Description: A one-compartment model with IV infusion
# The model is fitted using the default FOCE-ELS engine.
# Note: the default values for the relevant NLME engine arguments are chosen based on the model, type ?engineParams for details.
## DATA OneCpt_IVInfusion.csv
## MAP id = Subject time = Time A1 = Dose A1_Rate = Rate CObs
## MODEL
test(){
cfMicro(A1, Cl / V)
dosepoint(A1)
C = A1 / V
error(CEps = 0.1)
observe(CObs = C * (1 + CEps))
stparm(V = tvV * exp(nV))
stparm(Cl = tvCl * exp(nCl))
fixef(tvV = c(, 5, ))
fixef(tvCl = c(, 1, ))
ranef(diag(nV, nCl) = c(1, 1))
}
## ESTARGS
numIterations = 1 # one iteration only
stdErr = "None" # no standard error estimation requested
There are 5 blocks used in this model:
Description
This block provides descriptions of the model.
DATA
This block says that data file OneCpt_IVInfusion.csv (in the current working directory) will be used as the input data.
MAP
This block maps five variables to their corresponding data columns:
id = Subject
says that id is mapped to data
column Subject.
time = Time
says that time is mapped to
data column Time.
A1 = Dose
says that model variable A1 is
mapped to data column Dose (which denoting the amount of drug
administered to dosing compartment A1).
A1_Rate = Rate
says that data column Rate
specifies the infusion rate associated with the dose administered to
dosing compartment A1
(Note: If rate is zero or unspecified, then it is assumed to be a bolus).
CObs
says that model variable CObs is
mapped to data column CObs
(Note: Here the name of the model observable is the same as the
column name, and hence the equal sign is omitted. It can be also
rewritten as CObs = CObs
).
MODEL
This block says that an one-compartment population model with clearance parameterization is used as PML model.
ESTARGS
This block specifies the values for engine arguments “numIterations” and “stdErr”. Specifically,
numIterations = 1
sets the number of optimization
iterations to 1.stdErr = “None”
means that standard error is not
requested.To run metamodels, one can use the function
run_metamodel()
. Here we demonstrate how to run the
metamodel created above with host set to be a local one without any
parallelization (Note: For the case where host is not specified, if MPI
is found, then it will be automatically parallelized over 4 threads;
otherwise, a simple one core execution is performed).
host <- hostParams(parallelMethod = "None",
hostName = "local",
numCores = 1)
OneCpt_IVInfusionFile <- system.file("vignettesdata/OneCpt_IVInfusion.mmdl",
package = "Certara.RsNLME",
mustWork = TRUE)
run_metamodel(mmdlfile = OneCpt_IVInfusionFile,
directoryToRun = getwd(),
host = host)
#>
#> NLME Job
#>
#> Compiling 1 of 1 NLME models
#> The model compiled
#>
#> Iteration -2LL tvV tvCl nSubj nObs
#> 1 2171.54 4.7378 0.847792 100 700
#>
#> Trying to generate job results...
#>
#> Generating Overall.csv
#> Generating EtaEta.csv
#> Generating Eta.csv
#> Generating EtaStacked.csv
#> Generating bluptable.dat
#> Generating ConvergenceData.csv
#> Generating initest.csv
#> Generating doses.csv
#> Generating omega.csv
#> Generating theta.csv
#> Generating thetaCorrelation.csv
#> Generating thetaCovariance.csv
#> Generating Covariance.csv
#> Generating Residuals.csv
#> Generating posthoc.csv
#>
#> Finished summarizing results. Transferring data and loading the results...
#> Done generating job results.
#> $Overall
#> Scenario RetCode LogLik -2LL AIC BIC nParm nObs nSub
#> 1: WorkFlow 4 -1085.769 2171.538 2181.538 2204.294 5 700 100
#> EpsShrinkage Condition
#> 1: 0.12159 NA
#>
#> $theta
#> Scenario Parameter Estimate Units Stderr CV% 2.5%CI 97.5%CI Var.Inf.factor
#> 1: WorkFlow tvV 4.73779989 NA NA NA NA NA NA
#> 2: WorkFlow tvCl 0.84779242 NA NA NA NA NA NA
#> 3: WorkFlow CEps 0.09489599 NA NA NA NA NA NA
#>
#> $residuals
#> Scenario Subject IVAR TAD PRED IPRED DV IRES
#> 1: WorkFlow 0 0.5 0.5 5.047540 7.131170 6.9538407 -0.17732800
#> 2: WorkFlow 0 1.0 1.0 9.663080 13.641700 11.2560417 -2.38561000
#> 3: WorkFlow 0 2.0 2.0 17.742900 25.012000 26.8898512 1.87789000
#> 4: WorkFlow 0 4.0 4.0 12.405000 17.376300 19.6159527 2.23961000
#> 5: WorkFlow 0 8.0 8.0 6.063780 8.386470 8.1595561 -0.22691800
#> ---
#> 696: WorkFlow 99 2.0 2.0 17.742900 8.901250 7.2747765 -1.62647000
#> 697: WorkFlow 99 4.0 4.0 12.405000 6.565740 6.8358622 0.27012500
#> 698: WorkFlow 99 8.0 8.0 6.063780 3.572310 3.8003762 0.22807100
#> 699: WorkFlow 99 12.0 12.0 2.964070 1.943630 1.8072291 -0.13640100
#> 700: WorkFlow 99 24.0 24.0 0.346199 0.313046 0.3206403 0.00759386
#> PREDSE Weight IWRES WRES CWRES CdfDV ObsName
#> 1: NA 0.01966430 -0.262041 0.60846400 0.5170660 0 CObs
#> 2: NA 0.00537361 -1.842830 -1.40297000 -0.9661130 0 CObs
#> 3: NA 0.00159847 0.791177 2.21381000 1.6103100 0 CObs
#> 4: NA 0.00331195 1.358210 0.36300900 0.2952670 0 CObs
#> 5: NA 0.01421810 -0.285129 -2.20785000 -1.5648400 0 CObs
#> ---
#> 696: NA 0.01262110 -1.925520 -1.15642000 -2.1236100 0 CObs
#> 697: NA 0.02319710 0.433544 0.28268900 0.7049360 0 CObs
#> 698: NA 0.07836150 0.672781 0.00574825 0.0189867 0 CObs
#> 699: NA 0.26471100 -0.739531 -0.56360400 -1.0014300 0 CObs
#> 700: NA 10.20430000 0.255626 0.60237600 0.3372820 0 CObs
#> WhichDose WhichReset
#> 1: 1 0
#> 2: 1 0
#> 3: 1 0
#> 4: 1 0
#> 5: 1 0
#> ---
#> 696: 1 0
#> 697: 1 0
#> 698: 1 0
#> 699: 1 0
#> 700: 1 0
#>
#> $ConvergenceData
#> Scenario Iter Parameter Value
#> 1: WorkFlow 1 -2LL 2171.538400
#> 2: WorkFlow 1 tvV 4.737800
#> 3: WorkFlow 1 tvCl 0.847792
#>
#> $posthocStacked
#> Scenario Subject time TableSource Params Value
#> 1: WorkFlow 0 0.0 Main V 3.3508551
#> 2: WorkFlow 0 0.0 Main Cl 0.6102656
#> 3: WorkFlow 0 0.5 Main V 3.3508551
#> 4: WorkFlow 0 0.5 Main Cl 0.6102656
#> 5: WorkFlow 0 1.0 Main V 3.3508551
#> ---
#> 1596: WorkFlow 99 8.0 Main Cl 1.4738395
#> 1597: WorkFlow 99 12.0 Main V 9.6858985
#> 1598: WorkFlow 99 12.0 Main Cl 1.4738395
#> 1599: WorkFlow 99 24.0 Main V 9.6858985
#> 1600: WorkFlow 99 24.0 Main Cl 1.4738395
#>
#> $Eta
#> Scenario Subject nV nCl nV_shrinkage nCl_shrinkage
#> 1: WorkFlow 0 -0.34635731 -0.32874154 0.005351 0.002682
#> 2: WorkFlow 1 -0.28402315 -0.33661861 0.005353 0.002654
#> 3: WorkFlow 2 0.06972768 0.06789952 0.005351 0.002673
#> 4: WorkFlow 3 0.03796447 -0.44804098 0.005367 0.002943
#> 5: WorkFlow 4 -0.45284330 -0.41701802 0.005350 0.002691
#> 6: WorkFlow 5 -0.10132426 0.06835631 0.005345 0.002777
#> 7: WorkFlow 6 0.20214563 0.02958869 0.005357 0.002640
#> 8: WorkFlow 7 -0.30172825 -0.15664818 0.005346 0.002759
#> 9: WorkFlow 8 0.07751605 -0.32317335 0.005364 0.002794
#> 10: WorkFlow 9 -0.50242767 -0.39381390 0.005347 0.002734
#> 11: WorkFlow 10 -0.36566069 0.58467366 0.005306 0.003453
#> 12: WorkFlow 11 -0.22286244 -0.15546789 0.005349 0.002709
#> 13: WorkFlow 12 -0.28216892 0.50708947 0.005316 0.003319
#> 14: WorkFlow 13 -0.32358520 -0.10002928 0.005343 0.002818
#> 15: WorkFlow 14 -0.64183179 0.16083850 0.005315 0.003331
#> 16: WorkFlow 15 0.31312175 0.02079777 0.005361 0.002684
#> 17: WorkFlow 16 -0.04546547 -0.02136168 0.005351 0.002685
#> 18: WorkFlow 17 -0.32148923 -0.21976027 0.005348 0.002730
#> 19: WorkFlow 18 -0.12665316 -0.39943303 0.005360 0.002672
#> 20: WorkFlow 19 -0.02702392 0.44221180 0.005332 0.003031
#> 21: WorkFlow 20 -0.04326468 -0.44729493 0.005364 0.002799
#> 22: WorkFlow 21 -0.05114522 -0.06916847 0.005352 0.002667
#> 23: WorkFlow 22 0.08329960 -0.22386423 0.005361 0.002695
#> 24: WorkFlow 23 0.06200024 0.04267408 0.005352 0.002666
#> 25: WorkFlow 24 -0.08238045 -0.58131412 0.005367 0.002971
#> 26: WorkFlow 25 -0.09739976 0.14135861 0.005342 0.002830
#> 27: WorkFlow 26 -0.32317645 -0.17324899 0.005346 0.002762
#> 28: WorkFlow 27 -0.01335344 0.27746674 0.005340 0.002873
#> 29: WorkFlow 28 -0.01767452 -0.38976700 0.005363 0.002758
#> 30: WorkFlow 29 -0.11181115 0.25332991 0.005337 0.002938
#> 31: WorkFlow 30 -0.04285451 -0.11700801 0.005354 0.002648
#> 32: WorkFlow 31 -0.08163111 -0.08587762 0.005352 0.002672
#> 33: WorkFlow 32 -0.18238911 0.15590903 0.005338 0.002914
#> 34: WorkFlow 33 -0.31929768 -0.91974438 0.005369 0.003254
#> 35: WorkFlow 34 0.28959341 -0.04614658 0.005362 0.002719
#> 36: WorkFlow 35 -0.26993424 -0.50918066 0.005359 0.002656
#> 37: WorkFlow 36 0.57015951 -0.36293713 0.005376 0.005307
#> 38: WorkFlow 37 0.25940134 -0.53902997 0.005374 0.004215
#> 39: WorkFlow 38 0.53215742 -0.17741237 0.005372 0.003705
#> 40: WorkFlow 39 -0.02669279 -0.36572998 0.005362 0.002722
#> 41: WorkFlow 40 -0.33014158 -0.66401781 0.005362 0.002718
#> 42: WorkFlow 41 -0.39320192 -0.54008422 0.005356 0.002639
#> 43: WorkFlow 42 0.24979387 0.49061720 0.005342 0.002832
#> 44: WorkFlow 43 -0.04800162 0.21125710 0.005342 0.002847
#> 45: WorkFlow 44 -0.20838125 0.17265067 0.005336 0.002952
#> 46: WorkFlow 45 -0.44582981 -0.15949241 0.005340 0.002869
#> 47: WorkFlow 46 -0.13679521 -0.34553039 0.005358 0.002647
#> 48: WorkFlow 47 0.32501143 -0.01787220 0.005363 0.002726
#> 49: WorkFlow 48 0.01796422 -0.36411087 0.005364 0.002770
#> 50: WorkFlow 49 -0.22844069 -0.05263348 0.005345 0.002781
#> 51: WorkFlow 50 -0.64386065 -0.68807666 0.005353 0.002657
#> 52: WorkFlow 51 -0.21588766 -0.26141802 0.005353 0.002657
#> 53: WorkFlow 52 -0.20953148 -0.01476051 0.005344 0.002795
#> 54: WorkFlow 53 0.22102929 -0.61183406 0.005374 0.004454
#> 55: WorkFlow 54 -0.14316582 -0.22680566 0.005354 0.002646
#> 56: WorkFlow 55 0.01151102 -0.81203620 0.005374 0.004387
#> 57: WorkFlow 56 -0.30639242 -0.24374088 0.005349 0.002706
#> 58: WorkFlow 57 -0.33928985 0.09310877 0.005334 0.002998
#> 59: WorkFlow 58 0.14554868 -0.45809339 0.005370 0.003265
#> 60: WorkFlow 59 0.23408101 -0.17804352 0.005365 0.002811
#> 61: WorkFlow 60 0.01013818 -0.06727473 0.005354 0.002648
#> 62: WorkFlow 61 -0.21783430 -0.49046077 0.005360 0.002672
#> 63: WorkFlow 62 -0.43688904 -0.16951882 0.005341 0.002853
#> 64: WorkFlow 63 0.42621897 -0.34534079 0.005373 0.004045
#> 65: WorkFlow 64 -0.04259276 -0.27988956 0.005359 0.002656
#> 66: WorkFlow 65 -0.26595983 -0.23327422 0.005350 0.002690
#> 67: WorkFlow 66 -0.02882904 -0.29365334 0.005360 0.002668
#> 68: WorkFlow 67 -0.09977500 -0.08301367 0.005351 0.002682
#> 69: WorkFlow 68 -0.17968598 -0.26206543 0.005354 0.002646
#> 70: WorkFlow 69 -0.10380826 0.15835086 0.005341 0.002849
#> 71: WorkFlow 70 -0.19939702 -0.11643011 0.005348 0.002718
#> 72: WorkFlow 71 -0.01104726 -0.10162882 0.005355 0.002645
#> 73: WorkFlow 72 0.39388282 -0.49650122 0.005375 0.004913
#> 74: WorkFlow 73 -0.33479285 -0.68331247 0.005363 0.002732
#> 75: WorkFlow 74 0.09158688 0.04636948 0.005353 0.002657
#> 76: WorkFlow 75 -1.46787073 0.02072951 0.005257 0.003802
#> 77: WorkFlow 76 -0.21614082 -0.47942907 0.005360 0.002667
#> 78: WorkFlow 77 0.07140040 -0.38276171 0.005366 0.002880
#> 79: WorkFlow 78 0.08337488 -0.91555150 0.005377 0.006014
#> 80: WorkFlow 79 -0.18275205 -0.39537978 0.005359 0.002648
#> 81: WorkFlow 80 0.09969460 0.02411852 0.005354 0.002648
#> 82: WorkFlow 81 0.30555272 0.12173552 0.005358 0.002642
#> 83: WorkFlow 82 0.55324483 -0.02205721 0.005369 0.003173
#> 84: WorkFlow 83 -0.11082762 -0.11469060 0.005352 0.002672
#> 85: WorkFlow 84 0.17685588 -0.69587241 0.005375 0.004764
#> 86: WorkFlow 85 -0.30169454 -0.75057908 0.005366 0.002871
#> 87: WorkFlow 86 0.06184179 -0.44419113 0.005367 0.002987
#> 88: WorkFlow 87 0.21657132 -0.74338479 0.005376 0.005580
#> 89: WorkFlow 88 0.46696580 -0.21321126 0.005371 0.003566
#> 90: WorkFlow 89 -0.35289004 -0.37870656 0.005352 0.002664
#> 91: WorkFlow 90 0.32805995 -0.08807375 0.005365 0.002817
#> 92: WorkFlow 91 -0.07885348 -0.13286569 0.005353 0.002654
#> 93: WorkFlow 92 -0.47779536 0.28918761 0.005317 0.003300
#> 94: WorkFlow 93 -0.19598312 -0.46839824 0.005360 0.002672
#> 95: WorkFlow 94 -0.14378641 -0.24433319 0.005355 0.002643
#> 96: WorkFlow 95 -0.42311666 -0.07178694 0.005338 0.002925
#> 97: WorkFlow 96 -0.10150452 -1.11481162 0.005377 0.006187
#> 98: WorkFlow 97 -0.20632796 -0.57023011 0.005363 0.002748
#> 99: WorkFlow 98 0.39056950 -0.25092435 0.005370 0.003404
#> 100: WorkFlow 99 0.71509819 0.55299033 0.005357 0.002639
#> Scenario Subject nV nCl nV_shrinkage nCl_shrinkage
#>
#> $EtaStacked
#> Scenario Subject Eta Value
#> 1: WorkFlow 0 nV -0.34635731
#> 2: WorkFlow 0 nCl -0.32874154
#> 3: WorkFlow 1 nV -0.28402315
#> 4: WorkFlow 1 nCl -0.33661861
#> 5: WorkFlow 2 nV 0.06972768
#> ---
#> 196: WorkFlow 97 nCl -0.57023011
#> 197: WorkFlow 98 nV 0.39056950
#> 198: WorkFlow 98 nCl -0.25092435
#> 199: WorkFlow 99 nV 0.71509819
#> 200: WorkFlow 99 nCl 0.55299033
#>
#> $EtaEta
#> Scenario Subject Eta1Name Eta2Name Eta1 Eta2
#> 1: WorkFlow 0 nV nCl -0.34635731 -0.32874154
#> 2: WorkFlow 0 nCl nV -0.32874154 -0.34635731
#> 3: WorkFlow 1 nV nCl -0.28402315 -0.33661861
#> 4: WorkFlow 1 nCl nV -0.33661861 -0.28402315
#> 5: WorkFlow 2 nV nCl 0.06972768 0.06789952
#> ---
#> 196: WorkFlow 97 nCl nV -0.57023011 -0.20632796
#> 197: WorkFlow 98 nV nCl 0.39056950 -0.25092435
#> 198: WorkFlow 98 nCl nV -0.25092435 0.39056950
#> 199: WorkFlow 99 nV nCl 0.71509819 0.55299033
#> 200: WorkFlow 99 nCl nV 0.55299033 0.71509819
#>
#> $omega
#> Label nV nCl
#> 1: nV 0.4107143 0.0000000
#> 2: nCl 0.0000000 0.4846651
#>
#> $omega_Correlation
#> Label nV nCl
#> 1: nV 1 0
#> 2: nCl 0 1
#>
#> $Eta_Shrinkage
#> Label nV nCl
#> 1: Shrinkage 0.5244451 0.5321576
#>
#> $bluptable
#> Scenario Subject Eta ETA_VAL ETA_SE OMEGA_SD ETA_SE/OMEGA_SD
#> 1: WorkFlow 0 nV -0.346357 0.046879 0.640870 0.073149
#> 2: WorkFlow 1 nV -0.284023 0.046890 0.640870 0.073166
#> 3: WorkFlow 2 nV 0.069728 0.046882 0.640870 0.073154
#> 4: WorkFlow 3 nV 0.037964 0.046948 0.640870 0.073257
#> 5: WorkFlow 4 nV -0.452843 0.046876 0.640870 0.073145
#> ---
#> 196: WorkFlow 95 nCl -0.071787 0.037654 0.696179 0.054086
#> 197: WorkFlow 96 nCl -1.114812 0.054758 0.696179 0.078655
#> 198: WorkFlow 97 nCl -0.570230 0.036497 0.696179 0.052424
#> 199: WorkFlow 98 nCl -0.250924 0.040615 0.696179 0.058340
#> 200: WorkFlow 99 nCl 0.552990 0.035767 0.696179 0.051376
#> SHRINK_SUB_VAR SHRINK_SUB_SD
#> 1: 0.005351 0.002679
#> 2: 0.005353 0.002680
#> 3: 0.005351 0.002679
#> 4: 0.005367 0.002687
#> 5: 0.005350 0.002679
#> ---
#> 196: 0.002925 0.001464
#> 197: 0.006187 0.003098
#> 198: 0.002748 0.001375
#> 199: 0.003404 0.001703
#> 200: 0.002639 0.001321
#>
#> $posthoc
#> Scenario Subject time V Cl TableSource
#> 1: WorkFlow 0 0.0 3.350855 0.6102656 Main
#> 2: WorkFlow 0 0.5 3.350855 0.6102656 Main
#> 3: WorkFlow 0 1.0 3.350855 0.6102656 Main
#> 4: WorkFlow 0 2.0 3.350855 0.6102656 Main
#> 5: WorkFlow 0 4.0 3.350855 0.6102656 Main
#> ---
#> 796: WorkFlow 99 2.0 9.685898 1.4738395 Main
#> 797: WorkFlow 99 4.0 9.685898 1.4738395 Main
#> 798: WorkFlow 99 8.0 9.685898 1.4738395 Main
#> 799: WorkFlow 99 12.0 9.685898 1.4738395 Main
#> 800: WorkFlow 99 24.0 9.685898 1.4738395 Main
#>
#> $nlme7engine.log
#> [1] " ELS FOCE/Laplace engine log file "
#> [2] " Closed-form model can give incorrect results"
#> [3] " if time-varying model parameters are present."
#> [4] ""
#> [5] " MAX ITERS = 1"
#> [6] ""
#> [7] ""
#> [8] ""
#> [9] " Model evaluation ODE level used:"
#> [10] " 0=none"
#> [11] ""
#> [12] " Other flags and run conditions/tolerances:"
#> [13] ""
#> [14] " 100 NSUB"
#> [15] " 5 NUMFREEPARAM"
#> [16] " 2 NUMFREEFIXEF"
#> [17] " 1 NUMFREEEPS "
#> [18] " 2 NUMFREEOMEGAPARAM"
#> [19] " 2 NUMRANEF"
#> [20] " 1 Allow Gaussian Fit"
#> [21] " 5 IDENGINE"
#> [22] " 0 IFLAGRESTART"
#> [23] " 0 IFLAGSTDERR "
#> [24] " 0 IFLAGNP "
#> [25] " 1 IFLAGFOCEHESS"
#> [26] " 1 NORDERAGQ"
#> [27] " 1 NUMPROCS "
#> [28] " 13 NDIGITblup "
#> [29] " 7 NDIGITlagl "
#> [30] " 0.200E-02 tolmodlinz "
#> [31] " 0.100E-01 tolstderr "
#> [32] " 0 NREP_PCWRES"
#> [33] " 1 NPRESAMPLE "
#> [34] " 0 NGETMAPNP "
#> [35] " 0 iflaganagrad"
#> [36] " 0 iodelevelused"
#> [37] " 0 iflagstderr "
#> [38] ""
#> [39] ""
#> [40] " Initial parameter values:"
#> [41] ""
#> [42] " 0.50000000E+01 1 1 THETA"
#> [43] " 0.10000000E+01 2 1 THETA"
#> [44] " 0.10000000E+00 1 1 EPS_STD_DEV"
#> [45] " 0.10000000E-01 1 1 EPS_VARIANCE"
#> [46] " 0.10000000E+01 1 1 OMEGA"
#> [47] " 0.00000000E+00 2 1 OMEGA"
#> [48] " 0.10000000E+01 2 2 OMEGA"
#> [49] " 0.11558340E+04 1 1 -LOGLIKE"
#> [50] " 0.10251541E+04 1 1 ELSOBJ "
#> [51] ""
#> [52] " Total # Subjects = 100"
#> [53] " Total # Observations = 700"
#> [54] ""
#> [55] ""
#> [56] " FOCE Hessian approximation used"
#> [57] "iteration = 1 LL value = 1085.7692 "
#> [58] " Main umdriver optimization for engine 5 terminated"
#> [59] " ITRMCD exit code from umdriver = 4"
#> [60] " 1,2,3 = probable success, 4 = maxiterations reached"
#> [61] " 7 = Linesearch failed to find any good gradient to move"
#> [62] ""
#> [63] " Engine Convergence Summary:"
#> [64] " Convergence failed"
#> [65] ""
#> [66] " Maximum NLME7 iteration limit reached"
#> [67] ""
#> [68] " ITRMCD value on last iteration= 4"
#> [69] " NLME7 return code = 4"
#> [70] ""
#> [71] " Last parameter values:"
#> [72] ""
#> [73] " 0.47377999E+01 1 1 THETA BOUNDS: -0.100+101 0.100+101"
#> [74] " 0.84779242E+00 2 1 THETA BOUNDS: -0.100+101 0.100+101"
#> [75] " 0.94895989E-01 1 1 EPS_STD_DEV BOUNDS: 0.100E-02 0.100+101"
#> [76] " 0.90052487E-02 1 1 EPS_VARIANCE"
#> [77] " 0.41071426E+00 1 1 OMEGA"
#> [78] " 0.00000000E+00 2 1 OMEGA"
#> [79] " 0.48466513E+00 2 2 OMEGA"
#> [80] " 0.10857692E+04 1 1 -LOGLIKE"
#> [81] " 0.88502445E+03 1 1 ELSOBJ "
#> [82] ""
#> [83] " No std error computation requested"
#> [84] ""
#> [85] " "
#> [86] " EPSILON SHRINKAGES"
#> [87] " Epsilon shrinkage for CEps = 0.121593"
#> [88] ""
#> [89] " ETA SHRINKAGES"
#> [90] " eta-shrinkage( 1) = 0.52445"
#> [91] " eta-shrinkage( 2) = 0.53216"
#> [92] ""
#> [93] " RUNTIMES"
#> [94] ""
#> [95] " engine runtime (secs) = 0.188"
#> [96] " stderr runtime (secs) = 0.000"
#> [97] ""
#> [98] " EXITCODE 4"
#>
#> $dmp.txt
#> $coefficients
#> $coefficients$fixed
#> tvV tvCl CEps
#> 4.73779989 0.84779242 0.09489599
#>
#> $coefficients$random
#> $coefficients$random$Subject
#> nV nCl
#> 0 -0.34635731 -0.32874154
#> 1 -0.28402315 -0.33661861
#> 2 0.06972768 0.06789952
#> 3 0.03796447 -0.44804098
#> 4 -0.45284330 -0.41701802
#> 5 -0.10132426 0.06835631
#> 6 0.20214563 0.02958869
#> 7 -0.30172825 -0.15664818
#> 8 0.07751605 -0.32317335
#> 9 -0.50242767 -0.39381390
#> 10 -0.36566069 0.58467366
#> 11 -0.22286244 -0.15546789
#> 12 -0.28216892 0.50708947
#> 13 -0.32358520 -0.10002928
#> 14 -0.64183179 0.16083850
#> 15 0.31312175 0.02079777
#> 16 -0.04546547 -0.02136168
#> 17 -0.32148923 -0.21976027
#> 18 -0.12665316 -0.39943303
#> 19 -0.02702392 0.44221180
#> 20 -0.04326468 -0.44729493
#> 21 -0.05114522 -0.06916847
#> 22 0.08329960 -0.22386423
#> 23 0.06200024 0.04267408
#> 24 -0.08238045 -0.58131412
#> 25 -0.09739976 0.14135861
#> 26 -0.32317645 -0.17324899
#> 27 -0.01335344 0.27746674
#> 28 -0.01767452 -0.38976700
#> 29 -0.11181115 0.25332991
#> 30 -0.04285451 -0.11700801
#> 31 -0.08163111 -0.08587762
#> 32 -0.18238911 0.15590903
#> 33 -0.31929768 -0.91974438
#> 34 0.28959341 -0.04614658
#> 35 -0.26993424 -0.50918066
#> 36 0.57015951 -0.36293713
#> 37 0.25940134 -0.53902997
#> 38 0.53215742 -0.17741237
#> 39 -0.02669279 -0.36572998
#> 40 -0.33014158 -0.66401781
#> 41 -0.39320192 -0.54008422
#> 42 0.24979387 0.49061720
#> 43 -0.04800162 0.21125710
#> 44 -0.20838125 0.17265067
#> 45 -0.44582981 -0.15949241
#> 46 -0.13679521 -0.34553039
#> 47 0.32501143 -0.01787220
#> 48 0.01796422 -0.36411087
#> 49 -0.22844069 -0.05263348
#> 50 -0.64386065 -0.68807666
#> 51 -0.21588766 -0.26141802
#> 52 -0.20953148 -0.01476051
#> 53 0.22102929 -0.61183406
#> 54 -0.14316582 -0.22680566
#> 55 0.01151102 -0.81203620
#> 56 -0.30639242 -0.24374088
#> 57 -0.33928985 0.09310877
#> 58 0.14554868 -0.45809339
#> 59 0.23408101 -0.17804352
#> 60 0.01013818 -0.06727473
#> 61 -0.21783430 -0.49046077
#> 62 -0.43688904 -0.16951882
#> 63 0.42621897 -0.34534079
#> 64 -0.04259276 -0.27988956
#> 65 -0.26595983 -0.23327422
#> 66 -0.02882904 -0.29365334
#> 67 -0.09977500 -0.08301367
#> 68 -0.17968598 -0.26206543
#> 69 -0.10380826 0.15835086
#> 70 -0.19939702 -0.11643011
#> 71 -0.01104726 -0.10162882
#> 72 0.39388282 -0.49650122
#> 73 -0.33479285 -0.68331247
#> 74 0.09158688 0.04636948
#> 75 -1.46787073 0.02072951
#> 76 -0.21614082 -0.47942907
#> 77 0.07140040 -0.38276171
#> 78 0.08337488 -0.91555150
#> 79 -0.18275205 -0.39537978
#> 80 0.09969460 0.02411852
#> 81 0.30555272 0.12173552
#> 82 0.55324483 -0.02205721
#> 83 -0.11082762 -0.11469060
#> 84 0.17685588 -0.69587241
#> 85 -0.30169454 -0.75057908
#> 86 0.06184179 -0.44419113
#> 87 0.21657132 -0.74338479
#> 88 0.46696580 -0.21321126
#> 89 -0.35289004 -0.37870656
#> 90 0.32805995 -0.08807375
#> 91 -0.07885348 -0.13286569
#> 92 -0.47779536 0.28918761
#> 93 -0.19598312 -0.46839824
#> 94 -0.14378641 -0.24433319
#> 95 -0.42311666 -0.07178694
#> 96 -0.10150452 -1.11481162
#> 97 -0.20632796 -0.57023011
#> 98 0.39056950 -0.25092435
#> 99 0.71509819 0.55299033
#>
#>
#>
#> $logLik
#> [1] -1085.77
#>
#> $nObs
#> [1] 700
#>
#> $nSubj
#> [1] 100
#>
#> $nParm
#> [1] 5
#>
#> $returnCode
#> [1] 4
#>
#> $omega
#> nV nCl
#> nV 0.4107143 0.0000000
#> nCl 0.0000000 0.4846651
#>
#> $eta
#> mean var sd shrinkage
#> nV -0.07744441 0.09288404 0.3047688 0.5244451
#> nCl -0.21112675 0.10608179 0.3257020 0.5321576
#>
#> $eta_shrinkage
#> $eta_shrinkage$Subject
#> nV_shrinkage nCl_shrinkage
#> 1 0.005350807 0.002682237
#> 2 0.005353267 0.002654348
#> 3 0.005351497 0.002673316
#> 4 0.005366547 0.002942913
#> 5 0.005350154 0.002691343
#> 6 0.005345150 0.002776505
#> 7 0.005357266 0.002640266
#> 8 0.005346098 0.002758813
#> 9 0.005364193 0.002794433
#> 10 0.005347479 0.002734114
#> 11 0.005305774 0.003452511
#> 12 0.005349007 0.002708717
#> 13 0.005315751 0.003319260
#> 14 0.005343028 0.002817717
#> 15 0.005314965 0.003330764
#> 16 0.005361013 0.002684486
#> 17 0.005350575 0.002685401
#> 18 0.005347736 0.002729676
#> 19 0.005360418 0.002672378
#> 20 0.005332428 0.003031416
#> 21 0.005364287 0.002799120
#> 22 0.005352067 0.002666558
#> 23 0.005361460 0.002695123
#> 24 0.005352113 0.002666042
#> 25 0.005366892 0.002971091
#> 26 0.005342417 0.002829877
#> 27 0.005345912 0.002762237
#> 28 0.005340283 0.002872971
#> 29 0.005363373 0.002757719
#> 30 0.005337118 0.002937502
#> 31 0.005354004 0.002648389
#> 32 0.005351583 0.002672267
#> 33 0.005338278 0.002913865
#> 34 0.005369477 0.003253896
#> 35 0.005362311 0.002719324
#> 36 0.005359382 0.002656327
#> 37 0.005375956 0.005306887
#> 38 0.005373779 0.004215282
#> 39 0.005371985 0.003704892
#> 40 0.005362409 0.002722445
#> 41 0.005362256 0.002717591
#> 42 0.005356431 0.002639062
#> 43 0.005342334 0.002831545
#> 44 0.005341585 0.002846594
#> 45 0.005336422 0.002951637
#> 46 0.005340470 0.002869182
#> 47 0.005358423 0.002646519
#> 48 0.005362522 0.002726174
#> 49 0.005363661 0.002769857
#> 50 0.005344912 0.002781029
#> 51 0.005352978 0.002657017
#> 52 0.005353023 0.002656586
#> 53 0.005344170 0.002795307
#> 54 0.005374403 0.004454414
#> 55 0.005354326 0.002646199
#> 56 0.005374238 0.004387227
#> 57 0.005349180 0.002705985
#> 58 0.005334124 0.002997885
#> 59 0.005369555 0.003264751
#> 60 0.005364516 0.002810831
#> 61 0.005354115 0.002647606
#> 62 0.005360413 0.002672291
#> 63 0.005341253 0.002853303
#> 64 0.005373263 0.004045481
#> 65 0.005359321 0.002655569
#> 66 0.005350267 0.002689724
#> 67 0.005360174 0.002668043
#> 68 0.005350837 0.002681828
#> 69 0.005354283 0.002646474
#> 70 0.005341466 0.002848987
#> 71 0.005348433 0.002717972
#> 72 0.005354560 0.002644770
#> 73 0.005375346 0.004913126
#> 74 0.005362687 0.002731814
#> 75 0.005353012 0.002656688
#> 76 0.005256711 0.003802011
#> 77 0.005360127 0.002667245
#> 78 0.005365684 0.002880174
#> 79 0.005376726 0.006014318
#> 80 0.005358546 0.002647531
#> 81 0.005354052 0.002648043
#> 82 0.005357628 0.002641620
#> 83 0.005368858 0.003172890
#> 84 0.005351569 0.002672433
#> 85 0.005375071 0.004763987
#> 86 0.005365540 0.002870653
#> 87 0.005367080 0.002987258
#> 88 0.005376297 0.005580022
#> 89 0.005371340 0.003566116
#> 90 0.005352339 0.002663535
#> 91 0.005364629 0.002816822
#> 92 0.005353315 0.002653916
#> 93 0.005317039 0.003300009
#> 94 0.005360407 0.002672171
#> 95 0.005354895 0.002642984
#> 96 0.005337717 0.002925300
#> 97 0.005376864 0.006186646
#> 98 0.005363136 0.002748286
#> 99 0.005370456 0.003403547
#> 100 0.005356928 0.002639467
#>
#>
#> $sigma
#> CEps
#> CEps 0.009005249
#>
#> $method
#> [1] "FOCE-ELS"
#>
#> $LLTable
#> id LL
#> 1 0 -13.064455
#> 2 1 -10.233501
#> 3 2 -12.213217
#> 4 3 -10.397131
#> 5 4 -16.307023
#> 6 5 -8.907780
#> 7 6 -8.439881
#> 8 7 -13.816598
#> 9 8 -11.451935
#> 10 9 -12.558805
#> 11 10 1.140291
#> 12 11 -11.590763
#> 13 12 -3.917226
#> 14 13 -9.238635
#> 15 14 -3.437809
#> 16 15 -8.175226
#> 17 16 -10.128331
#> 18 17 -12.364821
#> 19 18 -12.118618
#> 20 19 -7.648360
#> 21 20 -13.771998
#> 22 21 -13.009968
#> 23 22 -9.248424
#> 24 23 -9.215826
#> 25 24 -13.469607
#> 26 25 -6.874627
#> 27 26 -10.153455
#> 28 27 -8.080189
#> 29 28 -11.187112
#> 30 29 -11.045879
#> 31 30 -13.922433
#> 32 31 -10.368444
#> 33 32 -6.040942
#> 34 33 -18.714266
#> 35 34 -10.993037
#> 36 35 -13.750318
#> 37 36 -9.291793
#> 38 37 -11.305463
#> 39 38 -10.293679
#> 40 39 -18.708492
#> 41 40 -15.738315
#> 42 41 -12.922658
#> 43 42 -5.847321
#> 44 43 -6.915021
#> 45 44 -8.481220
#> 46 45 -12.218425
#> 47 46 -11.280479
#> 48 47 -10.189193
#> 49 48 -11.678025
#> 50 49 -11.419692
#> 51 50 -16.655959
#> 52 51 -10.395341
#> 53 52 -10.400840
#> 54 53 -12.404437
#> 55 54 -9.633901
#> 56 55 -13.685115
#> 57 56 -10.193716
#> 58 57 -9.603961
#> 59 58 -12.568863
#> 60 59 -9.703489
#> 61 60 -10.327002
#> 62 61 -13.023598
#> 63 62 -11.739602
#> 64 63 -10.171669
#> 65 64 -14.715689
#> 66 65 -11.362693
#> 67 66 -10.423999
#> 68 67 -11.531784
#> 69 68 -11.026135
#> 70 69 -8.319961
#> 71 70 -12.700939
#> 72 71 -11.470754
#> 73 72 -10.189656
#> 74 73 -14.229789
#> 75 74 -8.641217
#> 76 75 5.119093
#> 77 76 -13.444352
#> 78 77 -13.943313
#> 79 78 -16.187260
#> 80 79 -11.842966
#> 81 80 -8.867052
#> 82 81 -7.090641
#> 83 82 -7.142122
#> 84 83 -10.615866
#> 85 84 -11.419281
#> 86 85 -13.330404
#> 87 86 -12.456476
#> 88 87 -14.952986
#> 89 88 -14.304346
#> 90 89 -11.996480
#> 91 90 -10.238117
#> 92 91 -9.413204
#> 93 92 -4.589363
#> 94 93 -11.898484
#> 95 94 -10.798605
#> 96 95 -9.359146
#> 97 96 -16.028192
#> 98 97 -16.632861
#> 99 98 -10.948809
#> 100 99 -7.261735
#>
#> $`.\\test.mdl`
#> [1] "" "test(){"
#> [3] "\tcfMicro(A1, Cl / V)" "\tdosepoint(A1)"
#> [5] "\tC = A1 / V" "\terror(CEps = 0.1)"
#> [7] "\tobserve(CObs = C * (1 + CEps))" "\tstparm(V = tvV * exp(nV))"
#> [9] "\tstparm(Cl = tvCl * exp(nCl))" "\tfixef(tvV = c(, 5, ))"
#> [11] "\tfixef(tvCl = c(, 1, ))" "\tranef(diag(nV, nCl) = c(1, 1))"
#> [13] "}"
#>
#> $cols1.txt
#> [1] "id(\"Subject\")"
#> [2] "time(\"Time\")"
#> [3] "dose(A1<-\"Dose\", \"Rate\")"
#> [4] "obs(CObs<-\"CObs\")"
#> [5] "table(file=\"posthoc.csv\", V, Cl, mode=keep)"
#> [6] ""
#>
#> attr(,"class")
#> [1] "nlme"
If the user wants to execute a run mode other than simple fit, he/she
should load the metamodel into R and then provide the resulted
NlmePmlModel object and engine parameters (if specified in the
metamodel) to the desired model execution function as values for model
and params arguments, respectively. To load the metamodel, the user
should run these two functions, parse_metamodel()
and
create_model_from_metamodel()
, consecutively. The resulted
list will have two objects: the model object and engine parameters. For
example, the codes below are used to perform bootstrap run for the
metamodel created above.
parsedMetamodel <- parse_metamodel(mmdlfile = OneCpt_IVInfusionFile)
ModelParamsList <-
create_model_from_metamodel(parsedMetamodel = parsedMetamodel)
bootParams <- BootstrapParams(numReplicates = 5,
randomNumSeed = 1234)
bootstrap(model = ModelParamsList$model,
params = ModelParamsList$params,
bootParams = bootParams)
#> Boot Job
#>
#> NLME Job
#>
#> Preparing files for Bootstrap run
#> Compiling 1 of 1 NLME models
#> The model compiled
#>
#> Processing replicates
#> Num Jobs/Completed/Failed:5/0/0
#>
#> Num Jobs/Completed/Failed:5/0/0
#>
#> Num Jobs/Completed/Failed:5/0/0
#>
#> Num Jobs/Completed/Failed:5/0/0
#>
#> Num Jobs/Completed/Failed:5/0/0
#>
#> Num Jobs/Completed/Failed:5/0/0
#>
#> Num Jobs/Completed/Failed:5/0/0
#>
#> Num Jobs/Completed/Failed:5/2/0
#>
#> Num Jobs/Completed/Failed:5/2/0
#>
#> Num Jobs/Completed/Failed:5/3/0
#>
#> Num Jobs/Completed/Failed:5/4/0
#>
#> Num Jobs/Completed/Failed:5/4/0
#>
#> Num Jobs/Completed/Failed:5/5/0
#>
#>
#> Summarizing bootstrap results
#> $BootOverall
#> Scenario Replicate ReturnCode LL
#> 1: (B) 1 4 -1089.74
#> 2: (B) 2 4 -1101.49
#> 3: (B) 3 4 -1107.09
#> 4: (B) 4 4 -1058.07
#> 5: (B) 5 4 -1116.01
#>
#> $BootTheta
#> Scenario Parameter Mean Stderr CV% Median 2.5%
#> 1: (B) tvV 4.7780358 0.010690711 0.223747 4.7720495 4.7682849
#> 2: (B) tvCl 0.8549129 0.010439460 1.221114 0.8508297 0.8473296
#> 3: (B) CEps 0.0941178 0.007253549 7.706883 0.0912145 0.0849065
#> 97.5%
#> 1: 4.7949070
#> 2: 0.8731682
#> 3: 0.1038233
#>
#> $BootOmega
#> Scenario Label nV nCl
#> 1: (B) nV 0.4137216 0.000000
#> 2: (B) nCl 0.0000000 0.491738
#>
#> $BootOmegaCorrelation
#> Scenario Label nV nCl
#> 1: (B) nV 1 0
#> 2: (B) nCl 0 1
#>
#> $BootOmegaStderr
#> Scenario Label nV nCl
#> 1: (B) nV 0.009838646 0.000000000
#> 2: (B) nCl 0.000000000 0.007960785
#>
#> $BootVarCoVar
#> Scenario Var Name tvV tvCl CEps
#> 1: (B) tvV 1.142913e-04 -3.831222e-05 1.534595e-05
#> 2: (B) tvCl -3.831222e-05 1.089823e-04 -4.863692e-05
#> 3: (B) CEps 1.534595e-05 -4.863692e-05 5.261397e-05