# R/importNmLstEstimates.R In MangoTheCat/RNMImport: Tools for importing and manipulating NONMEM data.

#### Defines functions mportNmLstEstimates

```#' Extracts the final estimates of the thetas, omegas, and sigmas from the text of a report file
#' @title import report file estimates
#' @param txt Contents of a report file, as a vector of lines of text
#' @param onlyDiag Should only the diagonal of the omegas and sigmas be retrieved?
#' @return a list with elements "THETA", "OMEGA" and "SIGMA", holding vectors and matrices
#'
#' @author Mango Solutions

.importNmLstEstimates <- function( txt, onlyDiag = FALSE  )
{
# imports sections : FINAL PARAMETER ESTIMATE, STANDARD ERROR OF ESTIMATE

if( is.null(txt)) return (NULL)

# remove possible data time
txt <- gsub('[A-Z][a-z]{2} +[A-Z][a-z]{2} +\\d+ +\\d+:\\d+:\\d+ +[A-Z]{3} +\\d+','',txt)
### titles of subsections look like:
#   THETA - VECTOR OF FIXED EFFECTS PARAMETERS   *********
#   OMEGA - COV MATRIX FOR RANDOM EFFECTS - ETAS  ********
#   SIGMA - COV MATRIX FOR RANDOM EFFECTS - EPSILONS  ***
sections <- lseq( c( grep( "[[:alpha:]]+[[:space:]]*-[[:space:]][[:alpha:]]+", txt), length(txt)+1 ), txt )
names(sections) <- sub( "[[:space:]]*([[:alpha:]]*)[[:space:]]*-.*\$", "\\1", sapply( sections, "[", 1) ) # THETA, OMEGA, SIGMA
sections <- lapply( sections, function(x) x[-1] )                          # remove the first lines

### make R objects from text
sections[["THETA"]] <-  .importNmLstVector( sections[["THETA"]] )
sections[["OMEGA"]] <-  .importNmLstMatrix( sections[["OMEGA"]], onlyDiag = onlyDiag )
sections[["SIGMA"]] <-  .importNmLstMatrix( sections[["SIGMA"]], onlyDiag = onlyDiag )
sections
}
```
MangoTheCat/RNMImport documentation built on Aug. 5, 2018, 4:09 p.m.