Get THETA, OMEGA and SIGMA from a completed NONMEM run

nmxml(
  run = numeric(0),
  project = character(0),
  file = character(0),
  theta = TRUE,
  omega = TRUE,
  sigma = TRUE,
  olabels = NULL,
  slabels = NULL,
  oprefix = "",
  sprefix = "",
  tname = "THETA",
  oname = "...",
  sname = "...",
  index = "last",
  xpath = ".//nm:estimation",
  ...
)

Arguments

run

run number

project

project directory

file

the complete path to the run.xml file

theta

logical; if TRUE, the $THETA vector is returned

omega

logical; if TRUE, the $OMEGA matrix is returned

sigma

logical; if TRUE, the $SIGMA matrix is returned

olabels

labels for $OMEGA

slabels

labels for $SIGMA

oprefix

prefix for $OMEGA labels

sprefix

prefix for $SIGMA labels

tname

name for $THETA

oname

name for $OMEGA

sname

name for $SIGMA

index

the estimation number to return; "last" will return the last estimation results; otherwise, pass an integer indicating which estimation results to return

xpath

xml path containing run results; if the default doesn't work, consider using .//estimation as an alternative; see details

...

not used

Value

A list with theta, omega and sigma elements, depending on what was requested

Details

If run and project are supplied, the .xml file is assumed to be located in run.xml, in directory run off the project directory. If file is supplied, run and project arguments are ignored.

This function requires that the xml2 package be installed and loadable. If requireNamespace("xml2") fails, an error will be generated.

nmxml usually expects to find run results in the xpath called .//nm:estimation. Occasionally, the run results are not stored in this namespace but no namespaces are found in the xml file. In this case, the user can specify the xpath containing run results. Consider trying .//estimation as an alternative if the default fails.

Examples

if(requireNamespace("xml2")) { proj <- system.file("nonmem", package = "mrgsolve") mrgsolve:::nmxml(run = 1005, project = proj) }
#> $theta #> $theta$THETA1 #> [1] 9.507886 #> #> $theta$THETA2 #> [1] 22.79099 #> #> $theta$THETA3 #> [1] 0.07143366 #> #> $theta$THETA4 #> [1] 3.474506 #> #> $theta$THETA5 #> [1] 113.2767 #> #> $theta$THETA6 #> [1] 1.024354 #> #> $theta$THETA7 #> [1] 1.192118 #> #> #> $omega #> $... #> [,1] [,2] [,3] #> 1: 0.21387884 0.12077020 -0.01162777 #> 2: 0.12077020 0.09451047 -0.03720637 #> 3: -0.01162777 -0.03720637 0.04656315 #> #> #> $sigma #> $... #> [,1] [,2] #> 1: 0.04917071 0.0000000 #> 2: 0.00000000 0.2017688 #> #> #> attr(,"class") #> [1] "NMXMLDATA"