From 71a166df7b5b150450dbe9cda741c20a79c224f3 Mon Sep 17 00:00:00 2001 From: sebastien Date: Sun, 2 Apr 2023 07:33:17 -0400 Subject: [PATCH 1/7] Add label_units and formats data slots --- man/res_vs_tad.Rd | 128 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 man/res_vs_tad.Rd diff --git a/man/res_vs_tad.Rd b/man/res_vs_tad.Rd new file mode 100644 index 00000000..6265f2b5 --- /dev/null +++ b/man/res_vs_tad.Rd @@ -0,0 +1,128 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/plot_residuals.R +\name{res_vs_tad} +\alias{res_vs_tad} +\alias{absval_res_vs_tad} +\title{Residuals plotted against the time after dose} +\usage{ +res_vs_tad( + xpdb, + mapping = NULL, + res = "CWRES", + tad = c("TSPD", "TSLD", "TAD", "TPD"), + group = "ID", + type = "pls", + title = "@y vs. @x | @run", + subtitle = "Ofv: @ofv", + caption = "@dir", + tag = NULL, + log = NULL, + guide = TRUE, + facets, + .problem, + quiet, + ... +) + +absval_res_vs_tad( + xpdb, + mapping = NULL, + res = "CWRES", + group = "ID", + type = "pls", + title = "@y vs. @x | @run", + subtitle = "Ofv: @ofv", + caption = "@dir", + tag = NULL, + log = NULL, + guide = FALSE, + facets, + .problem, + quiet, + ... +) +} +\arguments{ +\item{xpdb}{An xpose database object.} + +\item{mapping}{List of aesthetics mappings to be used for the xpose plot +(e.g. \code{point_color}).} + +\item{res}{Type of residual to be used. Default is "CWRES".} + +\item{group}{Grouping variable to be used for lines.} + +\item{type}{String setting the type of plot to be used. Can be points 'p', +line 'l', smooth 's' and text 't' or any combination of the four.} + +\item{title}{Plot title. Use \code{NULL} to remove.} + +\item{subtitle}{Plot subtitle. Use \code{NULL} to remove.} + +\item{caption}{Page caption. Use \code{NULL} to remove.} + +\item{tag}{Plot identification tag. Use \code{NULL} to remove.} + +\item{log}{String assigning logarithmic scale to axes, can be either '', +'x', y' or 'xy'.} + +\item{guide}{Enable guide display (e.g. unity line).} + +\item{facets}{Either a character string to use \code{\link[ggforce]{facet_wrap_paginate}} +or a formula to use \code{\link[ggforce]{facet_grid_paginate}}.} + +\item{.problem}{The $problem number to be used. By default returns +the last estimation problem.} + +\item{quiet}{Logical, if \code{FALSE} messages are printed to the console.} + +\item{...}{Any additional aesthetics to be passed on \code{xplot_scatter}.} +} +\description{ +Model residuals plotted against the time after dose variable (IDV). + +The residuals can be one of: +\itemize{ + \item RES: model residuals + \item WRES: weighted model residuals + \item IWRES: individual weighted model residuals + \item CWRES: conditional weighted model residuals + \item EWRES/ECWRES: Monte Carlo based model residuals + \item NPDE: Normalized prediction distribution error +} +} +\section{Layers mapping}{ + +Plots can be customized by mapping arguments to specific layers. The naming convention is +layer_option where layer is one of the names defined in the list below and option is +any option supported by this layer e.g. point_color = 'blue', smooth_method = 'lm', etc. +\itemize{ + \item point: options to \code{geom_point} + \item line: options to \code{geom_line} + \item guide: options to \code{geom_abline} + \item smooth: options to \code{geom_smooth} + \item text: options to \code{geom_text} + \item xscale: options to \code{scale_x_continuous} or \code{scale_x_log10} + \item yscale: options to \code{scale_y_continuous} or \code{scale_y_log10} +} +} + +\section{Template titles}{ + +Template titles can be used to create highly informative diagnostics plots. +They can be applied to any plot title, subtitle, caption and tag. Template titles +are defined via a single string containing key variables staring with a `@` (e.g. `@ofv`) +which will be replaced by their actual value when rendering the plot. +For example `'@run, @nobs observations in @nind subjects'` would become +`'run001, 1022 observations in 74 subjects'`. The available key variables +are listed under \code{\link{template_titles}}. +} + +\examples{ +# Standard residual +res_vs_tad(xpdb_ex_pk, res = c('IWRES', 'CWRES')) + +} +\seealso{ +\code{\link{xplot_scatter}} +} From 35ae871e6d427bebebcea49126aa0abe4821efdf Mon Sep 17 00:00:00 2001 From: sebastien Date: Sun, 2 Apr 2023 07:36:03 -0400 Subject: [PATCH 2/7] Add functionality to set and get variable labels and units. --- R/vars_get.R | 168 +++++++ R/vars_set.R | 751 +++++++++++++++++++++++++++- R/xplot_helpers.R | 40 ++ man/get_aes.Rd | 26 + man/get_var_labels_units.Rd | 35 ++ man/get_vars.Rd | 40 ++ man/set_vars.Rd | 18 +- tests/testthat/test-get_vars.R | 64 +++ tests/testthat/test-xplot_helpers.R | 7 + 9 files changed, 1146 insertions(+), 3 deletions(-) create mode 100644 R/vars_get.R create mode 100644 man/get_aes.Rd create mode 100644 man/get_var_labels_units.Rd create mode 100644 man/get_vars.Rd create mode 100755 tests/testthat/test-get_vars.R diff --git a/R/vars_get.R b/R/vars_get.R new file mode 100644 index 00000000..aa86c726 --- /dev/null +++ b/R/vars_get.R @@ -0,0 +1,168 @@ +#' Get variable type, label or units +#' +#' @description Function designed to extract the type, label or unit associated +#' with variables +#' +#' @param xpdb An \code{xpose_data} object. +#' @param .problem The problem number to which the edits will be applied. +#' @param variable A vector of data variables +#' +#' @return A character vector +#' @examples +#' # Get variable types +#' get_var_types(xpdb_ex_pk, .problem = 1, c('ID', 'MED1') +#' +#' # Get variable labels +#' get_var_labels(xpdb_ex_pk, .problem = 1, c('ID', 'MED1') +#' +#' # Get variable units +#' get_var_units(xpdb_ex_pk, .problem = 1, c('ID', 'MED1') +#' +#' @name get_vars +#' @export +#' +get_var_types <- function(xpdb, ..., .problem = NULL) { + get_var_generic( + xpdb = xpdb, .problem = .problem, what = 'type', ... + ) +} + +#' @rdname get_vars +#' @export +get_var_labels <- function(xpdb, ..., .problem = NULL) { + tmp <- get_var_generic( + xpdb = xpdb, .problem = .problem, what = 'label', ... + ) + if ( any(is.na(tmp)) ){ + tmp[is.na(tmp)] <- names(tmp)[is.na(tmp)] + } + tmp +} + +#' @rdname get_vars +#' @export +get_var_units <- function(xpdb, ..., .problem = NULL) { + get_var_generic( + xpdb = xpdb, .problem = .problem, what = 'units', ... + ) +} + + +get_var_generic <- function(xpdb, .problem = NULL, what = NULL, ...) { + + check_xpdb(xpdb, check = 'data') + if (is.null(.problem)) + .problem <- default_plot_problem(xpdb) + if (!is.null(.problem) && !all(.problem %in% xpdb$data$problem)) { + stop('Problem no.', stringr::str_c(.problem[!.problem %in% xpdb$data$problem], collapse = ', '), + ' not found in model output data.', call. = FALSE) + } + + variables <- c(...) + + if (is.null(variables)) + return(NULL) + if (is.null(what)) + return(NULL) + + tmp <- xpdb$data$index[[.problem]] %>% + dplyr::filter( col %in% variables ) %>% + dplyr::left_join( + data.frame( + order_ = 1:length(variables), + col = variables + ), + by = 'col' + ) %>% + dplyr::arrange(order_) + + if ( what == 'type' ){ + res <- tmp %>% dplyr::pull( type ) + } else if ( what == 'label' ){ + res <- tmp %>% dplyr::pull( label ) + } else if ( what == 'units' ){ + res <- tmp %>% dplyr::pull( units ) + } else { + return(NULL) + } + names(res) <- tmp %>% dplyr::pull( col ) + if (length(res) == 0) + res <- NULL + res +} + +#' Extract variable labels and units +#' +#' @description Utility function to construct a string made of a variable label +#' and units, if present in xpose object. Units are surrounded by parenthesis or +#' sqaure brackets based upon 'xpose_square_bracket' option. +#' +#' @param xpdb An xpose database object. +#' @param .problem The $problem number to be used. +#' @param variable Variable(s) for which labels and units are to be extracted. +#' +#' @return A character string. +#' +#' @examples +#' labels_units <- data.frame( +#' col = c('ALAG1', 'CL', 'V'), +#' label = c('Lag time', 'Clearance', 'Volume'), +#' units = c('h', 'L/h', 'L') +#' ) +#' +#' get_var_labels_units(xpdb, 'ALAG1') +#' get_var_labels_units(xpdb, 'ALAG1', 'CL') +#' +#' @keywords internal +#' @export + +get_var_labels_units <- function(xpdb, ..., .problem = NULL){ + + check_xpdb(xpdb, check = 'data') + + variables <- c(...) + + if ( !is.null(.problem) ){ + tmp <- data.frame( + label = get_var_labels( xpdb = xpdb, .problem = .problem, ... ), + units = get_var_units( xpdb = xpdb, .problem = .problem, ... ) + ) + tmp <- tmp %>% + dplyr::mutate( col = row.names(tmp) ) + } else { + if ( is.null(xpdb$label_units) ){ + return(variables) + } + tmp <- xpdb$label_units %>% + dplyr::filter( col %in% variables ) %>% + dplyr::left_join( + data.frame( + order_ = 1:length(variables), + col = variables + ), + by = 'col' + ) %>% + dplyr::mutate( label = ifelse(is.na(label), col, label) ) %>% + dplyr::arrange(order_) + } + + if ( nrow(tmp)==0 ) + return(NULL) + + open_sep <- ifelse( isTRUE(xpdb$options$square_bracket), '[', '(') + close_sep <- ifelse( isTRUE(xpdb$options$square_bracket), ']', ')') + + tmp <- tmp %>% + dplyr::mutate( + label_units = ifelse( + is.na(units), + label, + paste0(label,' ', open_sep, units, close_sep) + ) + ) + + res <- tmp %>% dplyr::pull( label_units ) + names(res) <- tmp %>% dplyr::pull( col ) + res + +} diff --git a/R/vars_set.R b/R/vars_set.R index f30a41c3..dc74639f 100755 --- a/R/vars_set.R +++ b/R/vars_set.R @@ -6,6 +6,7 @@ #' @param .problem The problem number to which the edits will be applied. #' @param ... Specifications of the edits to be made to the xpdb index. Edits are made as #' type and variable pairs e.g. idv = 'TAD' will assign TAD to the type idv (independent variable). +#' @param info A data frame of variable names, labels, and units. #' @param auto_factor With \code{set_var_types} only. If \code{TRUE} new columns assigned to the type 'catcov' will be converted to #' factor. #' @param quiet Logical, if \code{FALSE} messages are printed to the console. @@ -22,6 +23,7 @@ #' \item evid: Event identifier #' \item id: Subject identifier #' \item idv: Independent variable +#' \item tad: Time after dose #' \item ipred: Individual model predictions #' \item mdv: Missing dependent variable #' \item na: Not attributed @@ -35,7 +37,7 @@ #' @seealso \code{\link{list_vars}} #' @examples #' # Change variable type -#' xpdb_2 <- set_var_types(xpdb_ex_pk, .problem = 1, idv = 'TAD') +#' xpdb_2 <- set_var_types(xpdb_ex_pk, .problem = 1, catcov = 'DOSE') #' #' # Change labels #' xpdb_2 <- set_var_labels(xpdb_2, .problem = 1, ALAG1 = 'Lag time', CL = 'Clearance', V = 'Volume') @@ -43,8 +45,20 @@ #' # Change units #' xpdb_2 <- set_var_units(xpdb_2, .problem = 1, ALAG1 = 'h', CL = 'L/h', V = 'L') #' +#' labels_units <- data.frame( +#' col = c('ALAG1', 'CL', 'V'), +#' label = c('Lag time', 'Clearance', 'Volume'), +#' units = c('h', 'L/h', 'L') +#' ) +#' +#' xpdb_2 <- set_var_labels_units(xpdb_ex_pk, .problem = 1, info = labels_units) +#' #' @name set_vars +#' +#' @return A xpose object #' @export +#' +#' set_var_types <- function(xpdb, .problem = NULL, ..., auto_factor = TRUE, quiet) { # Check input check_xpdb(xpdb, check = 'data') @@ -92,7 +106,7 @@ set_var_types <- function(xpdb, .problem = NULL, ..., auto_factor = TRUE, quiet) } # Remove previous index when only one variable can be used at the time - single_type <- c('amt', 'dv', 'dvid', 'evid', 'id', 'idv', 'ipred', 'mdv', 'pred') + single_type <- c('amt', 'dv', 'dvid', 'evid', 'id', 'idv', 'tad', 'ipred', 'mdv', 'pred') single_type <- single_type[single_type %in% args$type] if (length(single_type) > 0) index$type[index$type %in% single_type] <- 'na' @@ -189,3 +203,736 @@ set_var_units <- function(xpdb, .problem = NULL, ..., quiet) { set_var_generic(xpdb = xpdb, .problem = .problem, quiet = quiet, what = 'units', ...) } + +#' @rdname set_vars +#' @export +set_var_labels_units <- function( + xpdb, + .problem = NULL, + info = NULL +){ + + check_xpdb(xpdb, check = 'data') + + if ( !is.data.frame(info) ){ + stop('Invalid info argument') + } + + if ( !all(names(info) == c('col', 'label', 'units')) ){ + stop('Invalid data frame structure in info') + } + + info <- info %>% + select( col, label, units ) + + if ( nrow(info) > nrow(unique(info)) ){ + stop('Duplicate variable entries in info') + } + + if ( is.null(.problem) ){ + .problem <- 1:length(xpdb$data$index) + } + + for (.prob in .problem){ + # Filter info to distinct variables present in data + tmp <- info %>% + dplyr::distinct( col, .keep_all = TRUE ) %>% + dplyr::filter( col %in% names(get_data(xpdb, .problem = .prob)) ) + + # Collapse labels and units information into strings + var_labels <- c() + var_units <- c() + for ( i in seq_len(nrow(tmp)) ){ + if ( is.na(tmp$label[i]) ){ + var_labels <- c( var_labels, paste0(tmp$col[i], ' = NA') ) + } else { + var_labels <- c( var_labels, paste0(tmp$col[i], ' = \'', tmp$label[i], '\'') ) + } + if ( is.na(tmp$units[i]) ){ + var_units <- c( var_units, paste0(tmp$col[i], ' = NA') ) + } else { + var_units <- c( var_units, paste0(tmp$col[i], ' = \'', tmp$units[i], '\'') ) + } + } + + var_labels <- paste(var_labels, collapse = ', ') + var_units <- paste(var_units, collapse = ', ') + + # Apply labels and units + if ( var_labels != '' ){ + eval( + parse( + text = sprintf( + 'xpdb <- set_var_labels(xpdb, .problem = %s, %s)', + .prob, + var_labels + ) + ) + ) + } + if ( var_units != '' ){ + eval( + parse( + text = sprintf( + 'xpdb <- set_var_units(xpdb, .problem = %s, %s)', + .prob, + var_units + ) + ) + ) + } + } + + xpdb <- unclass(xpdb) + + xpdb$label_units <- info + + as.xpdb(xpdb) +} + +#' @title Format numerical variables in data tables +#' +#' @description This function applies SAS-like formats to the numerical variables +#' according to a user-defined table of format definitions. Formatting is +#' performed by transforming the variables into factors. Discrete numerical +#' variables can become discrete character variables more suited for reporting +#' purposes. Additionally, formats can be used to discretize continuous +#' variables by defining ranges of values associated with specific formats. +#' +#' @param .data A data.frame or tibble of data +#' @param formats A data.frame with an expected structure defined in the Details +#' section +#' +#' @return An updated data object with the same dimension as the \code{.data} +#' argument. +#' +#' @details +#' Formats typically are intended to be applied to categorical variables (eg, sex) +#' to replace numerical values by character labels (eg, 0=Males, 1=Females). +#' However, formats can also be applied to continuous variables (eg, CrCL) to +#' coerce them into categorical variables by defining intervals (eg, >90=Normal +#' renal function). +#' +#' Format data.frames have the following expected structure: +#' \describe{ +#' \item{VARIABLE}{The (case sensitive) name of the variable to apply this +#' format to.} +#' \item{START}{The start of the interval. If missing, -Inf is assumed.} +#' \item{END}{The end of the interval (start and end can be identical when +#' dealing with format for categorical variables). If missing, +Inf is +#' assumed.} +#' \item{EXCLS}{Whether the start value of the interval should be excluded. +#' Can be set to 0/1 or FALSE/TRUE.} +#' \item{EXCLE}{Whether the end value of the interval should be excluded. +#' Can be set to 0/1 or FALSE/TRUE.} +#' \item{LABEL}{The format label to be applied for value of VARIABLE within +#' START and END} +#' \item{ORDER}{Ordering index of the interval} +#' } +#' +#' The complete definition of a variable format can and will typically span +#' multiple rows of the format data.frames (eg, for sex, 2 rows will be +#' required: one for the 0 value, and another one for the 1 value). Format +#' data.frames can contain format for variables which do not exist in \code{.data}. +#' +#' Data formatting will not be performed if the format definition for a variable +#' is invalid. A format definition will be deemed invalid if: \itemize{ +#' \item{formatting information is not provided for any variables included in +#' the data,} +#' \item{formatting information is not provided for all values included in the +#' data,} +#' \item{formatting information is provided for non-numeric variables,} +#' \item{EXCLS, EXCLE, LABEL, and/or ORDER are missing,} +#' \item{ranges defined by START and END overlaps, or} +#' \item{LABEL and ORDER are not consistent.} +#' } +#' +#' Note that while LABEL and ORDER must be consistent, several values (or +#' ranges of values) of a variable can be set to the same LABEL and ORDER. +#' +#' @examples +#' fmts <- data.frame( +#' variable = c("SEX", "SEX", "CLCR", "CLCR", "CLCR", "CLCR", "CLCR"), +#' start = c(1L, 2L, 90L, 60L, 30L, 15L, NA), +#' end = c(1L, 2L, NA, 90L, 60L, 30L, 15L), +#' excls = c(0L, 0L, 1L, 1L, 1L, 1L, 0L), +#' excle = c(0L, 0L, 0L, 0L, 0L, 0L, 0L), +#' label = c("Male", "Female", "Normal", "Mild", "Moderate", "Severe", "End of disease"), +#' order = c(1L, 2L, 1L, 2L, 3L, 4L, 5L) +#' ) +#' fmts +#' xp2 <- apply_formats(xpdb, .problem = 1, fmts) +#' +#' @rdname apply_formats +#' +#' @export +#' + +apply_formats <- function( + xpdb, + .problem, + formats, + quiet +){ + + are_range_overlapping <- function(ranges){ + + if ( nrow(ranges) == 1 ){ + return(FALSE) + } + ranges <- as.data.frame(ranges) + + ranges <- ranges[order(ranges[,1]),] + + if ( any(ranges[2,1:2]-ranges[1,1:2] < 0) ){ + stop('Range end(s) larger than range start(s)') + } + + # Check if edges overlap + edges <- c(t(as.matrix(ranges[,1:2]))) + + # Check if same edge is included in 2 consecutive interval + excls <- c(t(as.matrix(ranges[,3:4]))) + nr <- nrow(ranges) + same_edge <- diff(edges)[2*(1:(nr-1))]==0 & diff(excls)[2*(1:(nr-1))]==0 & + ranges[-1,3]==0 + + is.unsorted(edges) | any(same_edge) + + } + + df_collapse <- function(x){ + do.call(paste, c(unname(x), sep = '@')) + } + + if ( missing(quiet) ) + quiet <- !interactive() + + # Check xpdb + check_xpdb(xpdb, check = 'data') + + if ( missing(.problem) ){ + .problem <- default_plot_problem(xpdb) + } + + data <- get_data( xpdb, .problem = .problem ) %>% + dplyr::ungroup() + + # Check formats + if ( missing(formats) ){ + stop('Missing `formats` argument') + } + # formats must be a data.frame or a tibble + if ( !(is.data.frame(formats) | dplyr::is.tbl(formats)) ){ + stop( 'Invalid `formats` argument' ) + } + names(formats) <- toupper( names(formats) ) + + formats_col <- c('VARIABLE', 'START', 'END', 'EXCLS', 'EXCLE', 'LABEL', 'ORDER') + if ( !all( formats_col %in% names(formats) ) ){ + stop( 'Missing columns in `formats` argument' ) + } + + formats <- formats %>% + dplyr::ungroup() %>% + dplyr::select( VARIABLE, START, END, EXCLS, EXCLE, LABEL, ORDER ) + + if ( !is.character(formats$VARIABLE) | !is.character(formats$LABEL) ) { + stop('VARIABLE and LABEL columns in `formats` argument must be character') + } + + if ( !is.numeric(formats$START) | !is.numeric(formats$END) | !is.numeric(formats$ORDER) ) { + stop('START, END, and ORDER columns in `formats` argument must be numeric') + } + + if ( + !(is.numeric(formats$EXCLS) | is.logical(formats$EXCLS)) | + !(is.numeric(formats$EXCLE) | is.logical(formats$EXCLE)) + ){ + stop('EXCLS and EXCLE columns in `formats` argument must be integer or logical') + } + + if ( nrow(formats) == 0 ){ + if ( !quiet ) + warning( 'No available format. Formatting aborted.' ) + return( xpdb ) + } + + # Pre-process formats + formats <- formats %>% + # Ensure labels are characters + dplyr::mutate( LABEL = as.character(LABEL) ) %>% + # Filter out from formats variables which are not in data + dplyr::filter( VARIABLE %in% names(data) ) %>% + # Replace missing min with -inf and missing max with +inf + dplyr::mutate( + START = ifelse( is.na(START), -Inf, START ), + END = ifelse( is.na(END), +Inf, END ), + ) %>% + # Coerce exclusion columns to integer + dplyr::mutate( + EXCLS = as.integer(as.logical(EXCLS)), + EXCLE = as.integer(as.logical(EXCLE)) + ) %>% + # Filter out duplicated format rows + dplyr::distinct() + + if ( nrow(formats) == 0 ){ + if ( !quiet ) + warning( 'Variables in data have no available format' ) + return( xpdb ) + } + + # Trap formats with empty rows + empty_vars <- formats %>% + dplyr::filter( + START == -Inf & END == Inf & is.na(EXCLS) & is.na(EXCLE) & is.na(LABEL) & is.na(ORDER) + ) %>% + dplyr::distinct( VARIABLE) %>% + dplyr::pull( VARIABLE ) + + if ( length(empty_vars) > 0 ){ + formats <- formats %>% + dplyr::filter( !VARIABLE %in% empty_vars ) + if ( !quiet ){ + warning( + sprintf( + paste( + 'Format not applied for the following variables', + 'because of empty rows in format definition:\n %s\n'), + paste( empty_vars, collapse = ', ') + ) + ) + } + } + + # Trap formats with missing (NA) information + if ( any(is.na(formats)) ){ + na_vars <- formats %>% + dplyr::mutate( CHK = dplyr::if_any(.fns = is.na) ) %>% + dplyr::filter( CHK == TRUE ) %>% + dplyr::pull( VARIABLE ) + formats <- formats %>% + dplyr::filter( !VARIABLE %in% na_vars ) + if ( !quiet ){ + warning( + sprintf( + paste( + 'Format not applied for the following variable(s)', + 'because of missing values:\n %s\n'), + paste( na_vars, collapse = ', ') + ) + ) + } + } + + if ( nrow(formats) == 0 ){ + if ( !quiet ) + warning( 'Variables in data have no available format' ) + return( xpdb ) + } + + # Check for consistency of label and order numbers within variables + if ( + formats %>% dplyr::distinct( VARIABLE, LABEL) %>% nrow() != + formats %>% dplyr::distinct( VARIABLE, ORDER) %>% nrow() + ){ + if ( !quiet ) + warning( + paste( + 'Format not applied because the numbers of unique', + 'format labels and orders\n was not consistent for all variables' + ) + ) + return( xpdb ) + } + + tmp <- suppressWarnings( + formats %>% dplyr::distinct( VARIABLE, LABEL) %>% rownames() == + formats %>% dplyr::distinct( VARIABLE, ORDER) %>% rownames() + ) + if ( !all(tmp) ){ + vars <- formats[!tmp, 'VARIABLE'] + if ( !quiet ) + warning( + sprintf( + paste( + 'Format not applied because the indexes of unique format labels and', + 'orders\n were not consistent for the following variables:\n %s' + ), + paste(vars, collapse = ', ') + ) + ) + return( xpdb ) + } + + # Store formats for later usage + oformats <- formats + + # Check that formats do not overlap + error_fvars <- c() + fvars <- unique(formats$VARIABLE) + + for (var in fvars){ + tmp <- try( + formats %>% + dplyr::filter( VARIABLE == var) %>% + dplyr::select( START, END, EXCLS, EXCLE ) %>% + are_range_overlapping(), + silent = TRUE + ) + if ( class(tmp)=='try-error' || tmp ){ + error_fvars <- c(error_fvars, var) + } + } + + # Store formats for later usage + oformats <- formats + + if ( length(fvars) > 0 && length(error_fvars) > 0){ + fvars <- fvars[ !fvars%in%error_fvars ] + formats <- formats %>% + dplyr::filter( VARIABLE %in% fvars ) + if ( !quiet ) + warning( + sprintf( + paste( + 'Format not applied for the following variables because of invalid or', + '\n overlapping ranges:\n %s\n' + ), + paste(error_fvars, collapse = ', ') + ) + ) + } + + # Prevent formatting of character variables + error_fvars <- c() + for ( var in fvars ){ + if ( mode(data[[var]]) != 'numeric' ){ #note: mode also detects numeric factor + error_fvars <- c(error_fvars, var) + } + } + + if ( length(error_fvars) > 0 ){ + formats <- formats %>% + dplyr::filter( !VARIABLE %in% error_fvars ) + if ( !quiet ) + warning( + sprintf( + 'Non-numeric variable(s) cannot be formatted:\n %s\n', + paste(error_fvars, collapse = ', ') + ) + ) + } + + fvars <- formats %>% + dplyr::distinct( VARIABLE ) %>% + dplyr::pull( VARIABLE ) + + if ( nrow(formats) == 0 ){ + if ( !quiet ) + warning( 'Variables in data have no available format' ) + return( xpdb ) + } + + # Apply formats + + # Copy original variables + odata <- data %>% + dplyr::select( dplyr::any_of(fvars) ) + + # Determine which formats are defined with ranges + formats <- formats %>% + dplyr::mutate( ISRANGE = ifelse( abs(END - START) > 0, 1, 0) ) + + tmp <- formats %>% + dplyr::group_by( VARIABLE ) %>% + dplyr::summarize( + ISRANGE = max(ISRANGE), + .groups = 'keep' + ) + fvars_byrange <- tmp %>% + dplyr::filter( ISRANGE == 1 ) %>% + dplyr::pull( VARIABLE ) + fvars_byval <- tmp %>% + dplyr::filter( ISRANGE == 0 ) %>% + dplyr::pull( VARIABLE ) + + # Coerce EXCLS and EXCLE to 0 for fvars_byval + if ( + formats %>% + dplyr::filter( VARIABLE %in% fvars_byval ) %>% + dplyr::filter( EXCLS == 1L | EXCLE == 1L) %>% + nrow() > 0 + ){ + if ( !quiet ) + message( + sprintf( + paste( + 'Inclusion of start and end range values was assumed', + 'for the following variables:\n %s\n'), + paste(fvars_byval, collapse = ', ') + ) + ) + } + formats <- formats %>% + dplyr::mutate( + EXCLS = ifelse( VARIABLE %in% fvars_byval, 0L, EXCLS), + EXCLE = ifelse( VARIABLE %in% fvars_byval, 0L, EXCLE) + ) + + # Format variables in data + done <- c() + messages <- c() + nformats <- formats[c(),] + + for ( var in fvars ){ + + # Reset variable to NA + data[[var]] <- NA + + # Get format for var + format <- formats %>% + dplyr::filter( VARIABLE == var ) %>% + dplyr::distinct() + + # Subset format to values found in data, only for format defined by value + tmp <- format$START %in% unique(data[[var]]) + if ( var %in% fvars_byval && sum(tmp) > 0 ){ + format <- format %>% + dplyr::filter( START %in% unique(data[[var]]) ) + } + + # Re-order format + format <- format %>% + dplyr::arrange( ORDER ) + format$ORDER <- match( format$LABEL, unique(format$LABEL) ) + + # Convert to numeric data + if ( mode(odata[[var]]) == 'numeric' & inherits(odata[[var]], 'factor') ){ + vdata <- as.numeric( levels(odata[[var]]) )[ odata[[var]] ] + } else { + vdata <- odata[[var]] + } + + # Detect if variables include NA's, substitute value and add format if this + # is the case + hasNA <- FALSE + if ( any(is.na(vdata)) ){ + hasNA <- TRUE + + # Find replacement info + missingVal <- -99 + n <- 3 + while ( missingVal %in% vdata ){ + missingVal <- -sum(sapply(1:n, function(n) 9*10^(n-1))) + n <- n+1 + } + replacement <- 'Missing' + while ( any(format$LABEL == replacement) ){ + replacement <- sprintf('_%s_', replacement) + } + + # Replace in vdata + vdata[ is.na(vdata) ] <- missingVal + + # Replace NA in odata + if ( is.factor(odata[[var]]) ){ + odata[[var]] <- factor( + odata[[var]], + levels = c(levels(odata[[var]]), NA), + labels = c(levels(odata[[var]]), missingVal), + exclude = NULL + ) + } else { + odata[is.na(odata[[var]]), var] <- missingVal + } + + # Add format + format <- format %>% + dplyr::bind_rows( + data.frame( + VARIABLE = var, + START = missingVal, + END = missingVal, + EXCLS = 0L, + EXCLE = 0L, + LABEL = replacement, + ORDER = max(format$ORDER) + 1 + ) + ) + + messages <- c( + messages, + sprintf('Missing values were set to %s for variable %s\n', missingVal, var) + ) + } + + # Update nformat + nformats <- dplyr::bind_rows( nformats, format ) + + # Replace NA by order in var + # Add 1e-12 left and right of interval (proportionally) when >= or <= is + # used to deal with numerical representation issues + fs <- c() + + for ( f in 1:nrow(format) ){ + + matches <- eval( + parse( + text = paste( + 'vdata >', + ifelse( format$EXCLS[f] == 0, '= ', ' ' ), + ifelse( + format$EXCLS[f] == 0, + ifelse( + format$START[f] >= 0, + format$START[f]*(1-1e-12), + format$START[f]*(1+1e-12) + ), + format$START[f] + ), + ' & ','vdata <', + ifelse( format$EXCLE[f] == 0, '= ', ' ' ), + ifelse( + format$EXCLE[f] == 0, + ifelse( + format$END[f] >= 0, + format$END[f]*(1+1e-12), + format$END[f]*(1-1e-12) + ), + format$END[f] + ), + sep = '' + ) + ) + ) + matches <- !is.na(matches) & matches + if ( length(matches) > 0){ + data[matches, var] <- format$ORDER[f] + } + if ( any(matches) ){ + fs <- c(fs, f) + } + } + + # Check if remaining NA's (ie, label was not provided for all variable + # level in NONMEM table): if yes, revert to original var data; otherwise, + # apply labels and set var to formatted factors + + if ( any(is.na(data[[var]])) ){ + misvals <- unique( odata[is.na(data[[var]]),var] ) + nmisvals <- length(misvals) + misvals <- misvals[ 1:min(c(10, nmisvals)) ] + messages <- c( + messages, + sprintf( + paste( + 'Format not applied for %s because', + 'labels were not provided for the\n following value(s)%s: %s\n'), + var, + ifelse(nmisvals>10,' (only 10 shown)',''), + paste(misvals, collapse=', ') + ) + ) + data[[var]] <- odata[[var]] + } else { + data[[var]] <- factor( + data[[var]], + labels = unique(format$LABEL[fs]) + ) + class(data[[var]]) <- c('factor','formatted') + done <- c(done, var) + } + } + + # List formatted variables + if ( length(done) > 0 ){ + messages <- c( + messages, + sprintf( + paste( + 'The following variables have been formatted and', + 'coerced to factors:\n %s\n'), + paste(done, collapse=', ') + ) + ) + } + + if ( !quiet ) + cat( + sprintf( + '\n%s', + paste(messages, collapse='\n') + ) + ) + + # Store information + + # Bring back oformats + # Add original order variable in formats and nformats + formats <- oformats %>% + dplyr::mutate( + O_ORDER = ORDER, + ORDER = NA + ) + nformats <- nformats %>% + dplyr::select( -ISRANGE ) %>% + dplyr::mutate( O_ORDER = NA ) + + # Add Missing formats from nformats into formats + formats <- dplyr::bind_rows( + formats, + nformats[!df_collapse(nformats[, 1:6]) %in% df_collapse(formats[, 1:6]),] + ) + + # Re-order formats before next step and reset ORDER + formats <- formats %>% + dplyr::arrange( VARIABLE, O_ORDER ) %>% + dplyr::group_by( VARIABLE ) %>% + dplyr::mutate( + ORDER = dplyr::row_number() + ) %>% + dplyr::ungroup() %>% + dplyr::select( -O_ORDER ) %>% + as.data.frame() + + # Add O_VARIABLE + formats <- formats %>% + dplyr::mutate( + O_VARIABLE = paste0('o_', VARIABLE) + ) + + # Update object + names(odata) <- paste0( 'o_', names(odata) ) + xpdb$data$data[[.problem]] <- dplyr::bind_cols( data, odata ) + xpdb$formats <- formats + xpdb$data$index[[.problem]] <- dplyr::bind_rows( + xpdb$data$index[[.problem]], + xpdb$data$index[[.problem]] %>% + dplyr::filter( col %in% fvars) %>% + mutate( col = paste0('o_', col) ) + ) + var_types <- c() + for ( fvar in fvars ){ + if (get_var_type(xpdb, .problem, fvar) == 'catcov'){ + var_types <- c( + var_types, + paste0(fvar, ' = \'catcov\'') + ) + } + } + var_types <- paste(var_types, collapse = ', ') + eval( + parse( + text = sprintf( + 'xpdb <- set_var_types(xpdb, .problem = %s, %s)', + .problem, + var_types + ) + ) + ) + + as.xpdb(xpdb) + +} diff --git a/R/xplot_helpers.R b/R/xplot_helpers.R index 994a0ec9..e0bf81b7 100755 --- a/R/xplot_helpers.R +++ b/R/xplot_helpers.R @@ -469,3 +469,43 @@ add_facet_var <- function(facets, variable = 'variable') { new = stats::as.formula(stringr::str_c('~. + ', variable))) } } + +#' Extract variable from mapping argument +#' +#' @description Get the name of the variables used in a mapping argument, based +#' upon the coding standard used in the `xpose` package +#' +#' @param mapping A mapping object. +#' @param aes An aesthetic to be extracted +#' +#' @return The name of a variable. +#' +#' @examples +#' mapping <- aes(x = TIME, y = DV, point_color = MED1) +#' get_aes(mapping, 'x') +#' get_aes(mapping, point_colour) +#' @keywords internal + +get_aes <- function(mapping, aes){ + + aes <- substitute(aes) + + if (is.null(mapping) | is.null(aes)) + return(NULL) + + res <- sub( + '~', '', + sub( + '^~.data[[]+\"', '', + sub( + '\"[]]+$', '', + paste( mapping[as.character(evalq(aes))] ) ) + ) + ) + + if ( res == "NULL" ){ + return(NULL) + } + + res +} diff --git a/man/get_aes.Rd b/man/get_aes.Rd new file mode 100644 index 00000000..52564a03 --- /dev/null +++ b/man/get_aes.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/xplot_helpers.R +\name{get_aes} +\alias{get_aes} +\title{Extract variable from mapping argument} +\usage{ +get_aes(mapping, aes) +} +\arguments{ +\item{mapping}{A mapping object.} + +\item{aes}{An aesthetic to be extracted} +} +\value{ +The name of a variable. +} +\description{ +Get the name of the variables used in a mapping argument, based +upon the coding standard used in the `xpose` package +} +\examples{ +mapping <- aes(x = TIME, y = DV, point_color = MED1) +get_aes(mapping, 'x') +get_aes(mapping, point_colour) +} +\keyword{internal} diff --git a/man/get_var_labels_units.Rd b/man/get_var_labels_units.Rd new file mode 100644 index 00000000..99f3795a --- /dev/null +++ b/man/get_var_labels_units.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/vars_get.R +\name{get_var_labels_units} +\alias{get_var_labels_units} +\title{Extract variable labels and units} +\usage{ +get_var_labels_units(xpdb, ..., .problem = NULL) +} +\arguments{ +\item{xpdb}{An xpose database object.} + +\item{.problem}{The $problem number to be used.} + +\item{variable}{Variable(s) for which labels and units are to be extracted.} +} +\value{ +A character string. +} +\description{ +Utility function to construct a string made of a variable label +and units, if present in xpose object. Units are surrounded by parenthesis or +sqaure brackets based upon 'xpose_square_bracket' option. +} +\examples{ +labels_units <- data.frame( + col = c('ALAG1', 'CL', 'V'), + label = c('Lag time', 'Clearance', 'Volume'), + units = c('h', 'L/h', 'L') +) + +get_var_labels_units(xpdb, 'ALAG1') +get_var_labels_units(xpdb, 'ALAG1', 'CL') + +} +\keyword{internal} diff --git a/man/get_vars.Rd b/man/get_vars.Rd new file mode 100644 index 00000000..da0f01ad --- /dev/null +++ b/man/get_vars.Rd @@ -0,0 +1,40 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/vars_get.R +\name{get_vars} +\alias{get_vars} +\alias{get_var_types} +\alias{get_var_labels} +\alias{get_var_units} +\title{Get variable type, label or units} +\usage{ +get_var_types(xpdb, ..., .problem = NULL) + +get_var_labels(xpdb, ..., .problem = NULL) + +get_var_units(xpdb, ..., .problem = NULL) +} +\arguments{ +\item{xpdb}{An \code{xpose_data} object.} + +\item{.problem}{The problem number to which the edits will be applied.} + +\item{variable}{A vector of data variables} +} +\value{ +A character vector +} +\description{ +Function designed to extract the type, label or unit associated +with variables +} +\examples{ +# Get variable types +get_var_types(xpdb_ex_pk, .problem = 1, c('ID', 'MED1') + +# Get variable labels +get_var_labels(xpdb_ex_pk, .problem = 1, c('ID', 'MED1') + +# Get variable units +get_var_units(xpdb_ex_pk, .problem = 1, c('ID', 'MED1') + +} diff --git a/man/set_vars.Rd b/man/set_vars.Rd index cb88cb96..00fd9a2f 100755 --- a/man/set_vars.Rd +++ b/man/set_vars.Rd @@ -5,6 +5,7 @@ \alias{set_var_types} \alias{set_var_labels} \alias{set_var_units} +\alias{set_var_labels_units} \title{Set variable type, label or units} \usage{ set_var_types(xpdb, .problem = NULL, ..., auto_factor = TRUE, quiet) @@ -12,6 +13,8 @@ set_var_types(xpdb, .problem = NULL, ..., auto_factor = TRUE, quiet) set_var_labels(xpdb, .problem = NULL, ..., quiet) set_var_units(xpdb, .problem = NULL, ..., quiet) + +set_var_labels_units(xpdb, .problem = NULL, info = NULL) } \arguments{ \item{xpdb}{An \code{xpose_data} object.} @@ -25,9 +28,13 @@ type and variable pairs e.g. idv = 'TAD' will assign TAD to the type idv (indepe factor.} \item{quiet}{Logical, if \code{FALSE} messages are printed to the console.} + +\item{info}{A data frame of variable names, labels, and units.} } \value{ An xpose_data object + +A xpose object } \description{ Function designed to change the type, label or unit associated with variables. @@ -45,6 +52,7 @@ Function designed to change the type, label or unit associated with variables. \item evid: Event identifier \item id: Subject identifier \item idv: Independent variable + \item tad: Time after dose \item ipred: Individual model predictions \item mdv: Missing dependent variable \item na: Not attributed @@ -57,7 +65,7 @@ Function designed to change the type, label or unit associated with variables. \examples{ # Change variable type -xpdb_2 <- set_var_types(xpdb_ex_pk, .problem = 1, idv = 'TAD') +xpdb_2 <- set_var_types(xpdb_ex_pk, .problem = 1, catcov = 'DOSE') # Change labels xpdb_2 <- set_var_labels(xpdb_2, .problem = 1, ALAG1 = 'Lag time', CL = 'Clearance', V = 'Volume') @@ -65,6 +73,14 @@ xpdb_2 <- set_var_labels(xpdb_2, .problem = 1, ALAG1 = 'Lag time', CL = 'Clearan # Change units xpdb_2 <- set_var_units(xpdb_2, .problem = 1, ALAG1 = 'h', CL = 'L/h', V = 'L') +labels_units <- data.frame( + col = c('ALAG1', 'CL', 'V'), + label = c('Lag time', 'Clearance', 'Volume'), + units = c('h', 'L/h', 'L') +) + +xpdb_2 <- set_var_labels_units(xpdb_ex_pk, .problem = 1, info = labels_units) + } \seealso{ \code{\link{list_vars}} diff --git a/tests/testthat/test-get_vars.R b/tests/testthat/test-get_vars.R new file mode 100755 index 00000000..c06dd48d --- /dev/null +++ b/tests/testthat/test-get_vars.R @@ -0,0 +1,64 @@ +xp1 <- set_var_types(xpdb_ex_pk, catcov = 'DOSE') +xp1 <- set_var_labels(xp1, .problem = 1, ALAG1 = 'Lag time', CL = 'Clearance') +xp1 <- set_var_units(xp1, .problem = 1, ALAG1 = 'h', CL = 'L/h') +xp2 <- set_var_labels_units( + xpdb_ex_pk, + info = data.frame( + col = c('ALAG1', 'CL', 'V'), + label = c('Lag time', 'Clearance', 'Volume'), + units = c('h', NA, 'L') + ) +) +xp2 <- set_var_labels(xp2, .problem = 1, V = 'Central volume') + +# Tests start here -------------------------------------------------------- +test_that('input is check properly', { + expect_error(get_var_types(), regexp = 'argument \"xpdb\" is missing') + expect_error(get_var_labels(), regexp = 'argument \"xpdb\" is missing') + expect_error(get_var_units(), regexp = 'argument \"xpdb\" is missing') + expect_error(get_var_labels_units(), regexp = 'argument \"xpdb\" is missing') + expect_error(get_var_types(xpdb_ex_pk, .problem = 99), regexp = 'not found in model') + expect_error(get_var_labels(xpdb_ex_pk, .problem = 99), regexp = 'not found in model') + expect_error(get_var_units(xpdb_ex_pk, .problem = 99), regexp = 'not found in model') + expect_error(get_var_labels_units(xpdb_ex_pk, .problem = 99), regexp = 'not found in model') + expect_error(get_var_types(xpdb_ex_pk, .problem = 1, zzz), regexp = 'object \'zzz\' not found') + expect_error(get_var_labels(xpdb_ex_pk, .problem = 1, zzz), regexp = 'object \'zzz\' not found') + expect_error(get_var_units(xpdb_ex_pk, .problem = 1, zzz), regexp = 'object \'zzz\' not found') + expect_error(get_var_labels_units(xpdb_ex_pk, .problem = 99, zzz), regexp = 'object \'zzz\' not found') + +}) + +test_that('get_vars_type works properly', { + expect_true(is.null(get_var_types(xpdb_ex_pk, 'HELLO'))) + expect_type(get_var_types(xpdb_ex_pk, 'ID'), 'character') + expect_equal( + unname(get_var_types(xp1, 'TIME', 'PRED', 'DOSE')), + c('idv', 'pred', 'catcov') + ) +}) + +test_that('get_var_labels works properly', { + expect_true(is.null(get_var_labels(xp1, .problem = 1, 'zzz'))) + expect_true(get_var_labels(xp1, .problem = 1, 'TIME') == 'TIME') + expect_true(all(get_var_labels(xp1, .problem = 1, 'ALAG1', 'CL') %in% c('Lag time', 'Clearance'))) +}) + +test_that('get_var_units works properly', { + expect_true(is.null(get_var_units(xp1, .problem = 1, 'zzz'))) + expect_true(is.na(get_var_units(xp1, .problem = 1, 'TIME'))) + expect_true(all(get_var_units(xp1, .problem = 1, 'ALAG1', 'CL') %in% c('h', 'L/h'))) +}) + +test_that('get_var_labels_units works properly', { + expect_true(is.null(get_var_labels_units(xp2, 'zzz', .problem = 1))) + expect_true(is.null(get_var_labels_units(xp2, 'zzz'))) + expect_true(get_var_labels_units(xp1, 'TIME', .problem = 1) == 'TIME') + expect_true(get_var_labels_units(xp1, 'TIME') == 'TIME') + expect_true(get_var_labels_units(xp2, 'CL') == 'Clearance') + expect_true( + all(get_var_labels_units(xp2, 'ALAG1', 'V') == c('Lag time (h)', 'Volume (L)')) + ) + expect_true( + all(get_var_labels_units(xp2, 'ALAG1', 'V', .problem = 1) == c('Lag time (h)', 'Central volume (L)')) + ) +}) diff --git a/tests/testthat/test-xplot_helpers.R b/tests/testthat/test-xplot_helpers.R index ca4f01c2..56908843 100755 --- a/tests/testthat/test-xplot_helpers.R +++ b/tests/testthat/test-xplot_helpers.R @@ -2,6 +2,7 @@ xpdb_NULL <- xpdb_ex_pk xpdb_NULL$data <- NULL xpdb_NULL$files <- NULL xpdb_NULL <- as.xpdb(xpdb_NULL) +mapping <- aes(x = TIME) # Tests start here -------------------------------------------------------- # test_that('Check check_vars', { @@ -106,3 +107,9 @@ test_that('Check add_facets_var', { expect_equal(add_facet_var(facets = as.formula('OCC~SEX'), variable = 'variable'), as.formula('OCC~SEX+variable')) }) + +test_that('Check get_aes', { + expect_error(get_aes(mapping)) + expect_equal(get_aes(mapping, x), 'TIME') +}) + From 4643010fc9faea92f130b7b3c16553211e24979a Mon Sep 17 00:00:00 2001 From: sebastien Date: Sun, 2 Apr 2023 07:36:38 -0400 Subject: [PATCH 3/7] Add automatic variable label/unit in axis titles --- R/plot_vpc.R | 19 ++++++++++++++++++- R/xplot_scatter.R | 21 +++++++++++++++++++-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/R/plot_vpc.R b/R/plot_vpc.R index 106790e4..9da5afcb 100755 --- a/R/plot_vpc.R +++ b/R/plot_vpc.R @@ -219,7 +219,7 @@ vpc <- function(xpdb, # Define scales xp <- xp + - labs(x = vpc_dat$obs_cols[['idv']], y = vpc_dat$obs_cols[['dv']]) + + # labs(x = vpc_dat$obs_cols[['idv']], y = vpc_dat$obs_cols[['dv']]) + xp_geoms(mapping = mapping, xp_theme = xpdb$xp_theme, name = 'xscale', @@ -262,6 +262,23 @@ vpc <- function(xpdb, xp <- xp + labs(tag = tag) } + if ( isTRUE(xpdb$options$use_labelunit) ){ + + xvar <- vpc_dat$obs_cols[['idv']] + yvar <- vpc_dat$obs_cols[['dv']] + + if ( !is.null(xvar) && xvar != '' ){ + xp <- xp + xlab( + get_var_labels_units( xpdb = xpdb, xvar ) + ) + } + if ( !is.null(yvar) && yvar != '' ){ + xp <- xp + ylab( + get_var_labels_units( xpdb = xpdb, yvar ) + ) + } + } + # Add limits whenever needed if (vpc_dat$type == 'categorical') xp <- xp + coord_cartesian(ylim = c(0, 1)) diff --git a/R/xplot_scatter.R b/R/xplot_scatter.R index 95a40129..ecae42cd 100755 --- a/R/xplot_scatter.R +++ b/R/xplot_scatter.R @@ -191,6 +191,23 @@ xplot_scatter <- function(xpdb, xp <- xp + labs(tag = tag) } + if ( isTRUE(xpdb$options$use_labelunit) ){ + + xvar <- get_aes(mapping, 'x') + yvar <- get_aes(mapping, 'y') + + if ( !is.null(xvar) && xvar != '' ){ + xp <- xp + xlab( + get_var_labels_units( xpdb = xpdb, xvar ) + ) + } + if ( !is.null(yvar) && yvar != '' ){ + xp <- xp + ylab( + get_var_labels_units( xpdb = xpdb, yvar ) + ) + } + } + # Add metadata to plots xp$xpose <- list(fun = plot_name, summary = xpdb$summary, @@ -198,9 +215,9 @@ xplot_scatter <- function(xpdb, subprob = attr(data, 'subprob'), method = attr(data, 'method'), quiet = quiet, - xp_theme = xpdb$xp_theme[stringr::str_c(c('title', 'subtitle', + xp_theme = xpdb$xp_theme[stringr::str_c(c('title', 'subtitle', 'caption', 'tag'), '_suffix')]) - # Ouptut the plot + # Output the plot as.xpose.plot(xp) } From d09bb1bfb813151bb4d0c074681e6a9bbb9f89c4 Mon Sep 17 00:00:00 2001 From: sebastien Date: Sun, 2 Apr 2023 07:37:11 -0400 Subject: [PATCH 4/7] Variable formatting --- man/apply_formats.Rd | 84 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 man/apply_formats.Rd diff --git a/man/apply_formats.Rd b/man/apply_formats.Rd new file mode 100644 index 00000000..2d726325 --- /dev/null +++ b/man/apply_formats.Rd @@ -0,0 +1,84 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/vars_set.R +\name{apply_formats} +\alias{apply_formats} +\title{Format numerical variables in data tables} +\usage{ +apply_formats(xpdb, .problem, formats, quiet) +} +\arguments{ +\item{formats}{A data.frame with an expected structure defined in the Details +section} + +\item{.data}{A data.frame or tibble of data} +} +\value{ +An updated data object with the same dimension as the \code{.data} +argument. +} +\description{ +This function applies SAS-like formats to the numerical variables +according to a user-defined table of format definitions. Formatting is +performed by transforming the variables into factors. Discrete numerical +variables can become discrete character variables more suited for reporting +purposes. Additionally, formats can be used to discretize continuous +variables by defining ranges of values associated with specific formats. +} +\details{ +Formats typically are intended to be applied to categorical variables (eg, sex) +to replace numerical values by character labels (eg, 0=Males, 1=Females). +However, formats can also be applied to continuous variables (eg, CrCL) to +coerce them into categorical variables by defining intervals (eg, >90=Normal +renal function). + +Format data.frames have the following expected structure: +\describe{ + \item{VARIABLE}{The (case sensitive) name of the variable to apply this + format to.} + \item{START}{The start of the interval. If missing, -Inf is assumed.} + \item{END}{The end of the interval (start and end can be identical when + dealing with format for categorical variables). If missing, +Inf is + assumed.} + \item{EXCLS}{Whether the start value of the interval should be excluded. + Can be set to 0/1 or FALSE/TRUE.} + \item{EXCLE}{Whether the end value of the interval should be excluded. + Can be set to 0/1 or FALSE/TRUE.} + \item{LABEL}{The format label to be applied for value of VARIABLE within + START and END} + \item{ORDER}{Ordering index of the interval} + } + + The complete definition of a variable format can and will typically span + multiple rows of the format data.frames (eg, for sex, 2 rows will be + required: one for the 0 value, and another one for the 1 value). Format + data.frames can contain format for variables which do not exist in \code{.data}. + + Data formatting will not be performed if the format definition for a variable + is invalid. A format definition will be deemed invalid if: \itemize{ + \item{formatting information is not provided for any variables included in + the data,} + \item{formatting information is not provided for all values included in the + data,} + \item{formatting information is provided for non-numeric variables,} + \item{EXCLS, EXCLE, LABEL, and/or ORDER are missing,} + \item{ranges defined by START and END overlaps, or} + \item{LABEL and ORDER are not consistent.} + } + + Note that while LABEL and ORDER must be consistent, several values (or + ranges of values) of a variable can be set to the same LABEL and ORDER. +} +\examples{ +fmts <- data.frame( + variable = c("SEX", "SEX", "CLCR", "CLCR", "CLCR", "CLCR", "CLCR"), + start = c(1L, 2L, 90L, 60L, 30L, 15L, NA), + end = c(1L, 2L, NA, 90L, 60L, 30L, 15L), + excls = c(0L, 0L, 1L, 1L, 1L, 1L, 0L), + excle = c(0L, 0L, 0L, 0L, 0L, 0L, 0L), + label = c("Male", "Female", "Normal", "Mild", "Moderate", "Severe", "End of disease"), + order = c(1L, 2L, 1L, 2L, 3L, 4L, 5L) +) +fmts +xp2 <- apply_formats(xpdb, .problem = 1, fmts) + +} From 4905ba36cf452b2103ca78a93035592ce32bdd0e Mon Sep 17 00:00:00 2001 From: sebastien Date: Sun, 2 Apr 2023 07:37:55 -0400 Subject: [PATCH 5/7] Add time after dose variable type --- R/read_nm_tables.R | 7 ++++++- R/vars_list.R | 6 ++++-- R/xpose_data.R | 19 +++++++++++++++---- data/xpdb_ex_pk.rda | Bin 119644 -> 119540 bytes tests/testthat/test-console_outputs.R | 2 +- 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/R/read_nm_tables.R b/R/read_nm_tables.R index c35c7080..189a5977 100755 --- a/R/read_nm_tables.R +++ b/R/read_nm_tables.R @@ -419,13 +419,16 @@ merge_firstonly <- function(x, quiet) { #' #' @keywords internal #' @export -index_table <- function(x) { +index_table <- function(x) { tab_type <- dplyr::case_when( stringr::str_detect(x$name, 'patab') ~ 'param', # model parameters stringr::str_detect(x$name, 'catab') ~ 'catcov', # categorical covariate stringr::str_detect(x$name, 'cotab') ~ 'contcov', # continuous covariate TRUE ~ 'na') + tad.var <- c('TSPD', 'TSLD', 'TAD', 'TPD') + tad.var <- tad.var[ tad.var %in% (x$data[[1]] %>% colnames()) ][1] + x$data[[1]] %>% colnames() %>% dplyr::tibble(table = x$name, @@ -437,6 +440,7 @@ index_table <- function(x) { .$col == 'ID' ~ 'id', .$col == 'DV' ~ 'dv', .$col == 'TIME' ~ 'idv', + .$col == tad.var ~ 'tad', .$col == 'OCC' ~ 'occ', .$col == 'DVID' ~ 'dvid', .$col == 'AMT' ~ 'amt', @@ -448,4 +452,5 @@ index_table <- function(x) { stringr::str_detect(.$col, 'ETA\\d+|ET\\d+') ~ 'eta', stringr::str_detect(.$col, '^A\\d+$') ~ 'a', TRUE ~ tab_type)) + } diff --git a/R/vars_list.R b/R/vars_list.R index 22f5e38d..ca0402cd 100755 --- a/R/vars_list.R +++ b/R/vars_list.R @@ -23,8 +23,9 @@ list_vars <- function(xpdb, .problem = NULL) { x <- x[x$problem %in% .problem, ] } - order <- c('id', 'dv', 'idv', 'dvid', 'occ', 'amt', 'evid', 'mdv', 'pred', 'ipred', - 'param', 'eta', 'res', 'catcov', 'contcov', 'a', 'na') + order <- c('id', 'dv', 'idv', 'tad', 'dvid', 'occ', 'amt', 'evid', 'mdv', + 'pred', 'ipred', 'param', 'eta', 'res', 'catcov', 'contcov', 'a', + 'na') x <- x %>% dplyr::mutate(grouping = as.integer(.$problem)) %>% @@ -43,6 +44,7 @@ list_vars <- function(xpdb, .problem = NULL) { .$type == 'na' ~ 'Not attributed (na)', .$type == 'amt' ~ 'Dose amount (amt)', .$type == 'idv' ~ 'Independent variable (idv)', + .$type == 'tad' ~ 'Time after dose (tad)', .$type == 'ipred' ~ 'Model individual predictions (ipred)', .$type == 'pred' ~ 'Model typical predictions (pred)', .$type == 'res' ~ 'Residuals (res)', diff --git a/R/xpose_data.R b/R/xpose_data.R index 882a878e..fff0c6a1 100755 --- a/R/xpose_data.R +++ b/R/xpose_data.R @@ -177,9 +177,20 @@ xpose_data <- function(runno = NULL, attr(xp_theme, 'theme') <- as.character(substitute(xp_theme)) # Output xpose_data - list(code = model_code, summary = summary, data = data, - files = out_files, gg_theme = gg_theme, xp_theme = xp_theme, - options = list(dir = dirname(full_path), quiet = quiet, - manual_import = manual_import)) %>% + list( + code = model_code, + summary = summary, + data = data, + files = out_files, + gg_theme = gg_theme, + xp_theme = xp_theme, + options = list(dir = dirname(full_path), + quiet = quiet, + manual_import = manual_import, + use_labelunit = TRUE, + square_bracket = FALSE), + label_units = NULL, + formats = NULL + ) %>% structure(class = c('xpose_data', 'uneval')) } diff --git a/data/xpdb_ex_pk.rda b/data/xpdb_ex_pk.rda index 26433fafe7786f9264efc54e37fbbf7adb6e2050..9874d458f6bfbbabc89ddae31c573a993bfec9ae 100755 GIT binary patch literal 119540 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 literal 119644 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

u7{??4R|m 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 Date: Sun, 2 Apr 2023 07:38:17 -0400 Subject: [PATCH 6/7] Add GoF plots --- R/plot_residuals.R | 256 ++++++++++++++++++++++++++++++++++++++++++++ man/res_vs_ipred.Rd | 132 +++++++++++++++++++++++ man/res_vs_pred.Rd | 20 ++++ 3 files changed, 408 insertions(+) create mode 100644 man/res_vs_ipred.Rd diff --git a/R/plot_residuals.R b/R/plot_residuals.R index 1eec4a86..01fa1c6d 100755 --- a/R/plot_residuals.R +++ b/R/plot_residuals.R @@ -6,6 +6,7 @@ #' \itemize{ #' \item RES: model residuals #' \item WRES: weighted model residuals +#' \item IWRES: individual weighted model residuals #' \item CWRES: conditional weighted model residuals #' \item EWRES/ECWRES: Monte Carlo based model residuals #' \item NPDE: Normalized prediction distribution error @@ -125,6 +126,133 @@ absval_res_vs_pred <- function(xpdb, } +#' Residuals plotted against individual predictions +#' +#' @description Model residuals plotted against individual predictions (IPRED). +#' +#' The residuals can be one of: +#' \itemize{ +#' \item RES: model residuals +#' \item WRES: weighted model residuals +#' \item IWRES: individual weighted model residuals +#' \item CWRES: conditional weighted model residuals +#' \item EWRES/ECWRES: Monte Carlo based model residuals +#' \item NPDE: Normalized prediction distribution error +#' } +#' +#' @inheritParams dv_vs_pred +#' @param res Type of residual to be used. Default is "CWRES". +#' @inheritSection xplot_scatter Layers mapping +#' @inheritSection xplot_scatter Faceting +#' @inheritSection xplot_scatter Template titles +#' @seealso \code{\link{xplot_scatter}} +#' @examples +#' # Standard residual +#' res_vs_ipred(xpdb_ex_pk, res = c('IWRES', 'CWRES')) +#' +#' # Absolute value of the residuals +#' absval_res_vs_ipred(xpdb_ex_pk, res = 'CWRES') +#' +#' @export +res_vs_ipred <- function(xpdb, + mapping = NULL, + res = 'CWRES', + group = 'ID', + type = 'pls', + title = '@y vs. @x | @run', + subtitle = 'Ofv: @ofv', + caption = '@dir', + tag = NULL, + log = NULL, + guide = TRUE, + facets, + .problem, + quiet, + ...) { + # Check input + check_xpdb(xpdb, check = 'data') + if (missing(.problem)) .problem <- default_plot_problem(xpdb) + check_problem(.problem, .subprob = NULL, .method = NULL) + if (missing(quiet)) quiet <- xpdb$options$quiet + + if (length(res) > 1) { + if (missing(facets)) facets <- add_facet_var(facets = xpdb$xp_theme$facets, + variable = 'variable') + opt <- data_opt(.problem = .problem, + filter = only_obs(xpdb, .problem, quiet), + tidy = TRUE, value_col = res) + vars <- aes_c(aes( + x = .data[[xp_var(xpdb, .problem, type = 'ipred')$col]], + y = .data[["value"]]), mapping) + } else { + if (missing(facets)) facets <- xpdb$xp_theme$facets + opt <- data_opt(.problem = .problem, + filter = only_obs(xpdb, .problem, quiet)) + vars <- aes_c(aes( + x = .data[[xp_var(xpdb, .problem, type = 'pred')$col]], + y = .data[[toupper(res)]]), mapping) + } + + xplot_scatter(xpdb = xpdb, group = group, quiet = quiet, + opt = opt, mapping = vars, + type = type, guide = guide, facets = facets, + xscale = check_scales('x', log), + yscale = check_scales('y', log), + title = title, subtitle = subtitle, caption = caption, + tag = tag, plot_name = stringr::str_remove(deparse(match.call()[[1]]), "(\\w+\\.*)+::"), + guide_slope = 0, ...) +} + + +#' @rdname res_vs_pred +#' @export +absval_res_vs_ipred <- function(xpdb, + mapping = NULL, + res = 'CWRES', + group = 'ID', + type = 'pls', + title = '@y vs. @x | @run', + subtitle = 'Ofv: @ofv', + caption = '@dir', + tag = NULL, + log = NULL, + guide = FALSE, + facets, + .problem, + quiet, + ...) { + # Check input + check_xpdb(xpdb, check = 'data') + if (missing(.problem)) .problem <- default_plot_problem(xpdb) + check_problem(.problem, .subprob = NULL, .method = NULL) + if (missing(quiet)) quiet <- xpdb$options$quiet + + if (length(res) > 1) { + if (missing(facets)) facets <- add_facet_var(facets = xpdb$xp_theme$facets, + variable = 'variable') + opt <- data_opt(.problem = .problem, + filter = only_obs(xpdb, .problem, quiet), + tidy = TRUE, value_col = res) + vars <- aes_c(aes(x = .data[[xp_var(xpdb, .problem, type = 'ipred')$col]], + y = abs(.data[["value"]])), mapping) + } else { + if (missing(facets)) facets <- xpdb$xp_theme$facets + opt <- data_opt(.problem = .problem, + filter = only_obs(xpdb, .problem, quiet)) + vars <- aes_c(aes(x = .data[[xp_var(xpdb, .problem, type = 'ipred')$col]], + y = abs(.data[[toupper(res)]])), mapping) + } + + xplot_scatter(xpdb = xpdb, group = group, quiet = quiet, + opt = opt, mapping = vars, + type = type, guide = guide, facets = facets, + xscale = check_scales('x', log), + yscale = check_scales('y', log), + title = title, subtitle = subtitle, caption = caption, + tag = tag, plot_name = stringr::str_remove(deparse(match.call()[[1]]), "(\\w+\\.*)+::"), + guide_slope = 0, ...) +} + #' Residuals plotted against the independent variable #' #' @description Model residuals plotted against the independent variable (IDV). @@ -247,3 +375,131 @@ absval_res_vs_idv <- function(xpdb, tag = tag, plot_name = stringr::str_remove(deparse(match.call()[[1]]), "(\\w+\\.*)+::"), guide_slope = 0, ...) } + +#' Residuals plotted against the time after dose +#' +#' @description Model residuals plotted against the time after dose variable (IDV). +#' +#' The residuals can be one of: +#' \itemize{ +#' \item RES: model residuals +#' \item WRES: weighted model residuals +#' \item IWRES: individual weighted model residuals +#' \item CWRES: conditional weighted model residuals +#' \item EWRES/ECWRES: Monte Carlo based model residuals +#' \item NPDE: Normalized prediction distribution error +#' } +#' +#' @inheritParams dv_vs_pred +#' @param res Type of residual to be used. Default is "CWRES". +#' @inheritSection xplot_scatter Layers mapping +#' @inheritSection xplot_scatter Template titles +#' @seealso \code{\link{xplot_scatter}} +#' @examples +#' # Standard residual +#' res_vs_tad(xpdb_ex_pk, res = c('IWRES', 'CWRES')) +#' +#' @export +res_vs_tad <- function(xpdb, + mapping = NULL, + res = 'CWRES', + tad = c('TSPD', 'TSLD', 'TAD', 'TPD'), + group = 'ID', + type = 'pls', + title = '@y vs. @x | @run', + subtitle = 'Ofv: @ofv', + caption = '@dir', + tag = NULL, + log = NULL, + guide = TRUE, + facets, + .problem, + quiet, + ...) { + + # Check input + check_xpdb(xpdb, check = 'data') + if (missing(.problem)) .problem <- default_plot_problem(xpdb) + check_problem(.problem, .subprob = NULL, .method = NULL) + + # Change IDV variable type + vars <- xpobj$data[xpobj$data$problem == .problem, ]$index[[1]]$col + if ( length(tad) > 1 ) { + tads <- c('TSPD', 'TSLD', 'TAD', 'TPD') + tad <- tads[ tads %in% vars][1] + } + if ( !tad %in% vars ){ + stop( + paste(tad, 'not present in data') + ) + } + xpdb <- set_var_types(xpdb = xpdb, .problem = .problem, idv = tad) + + # Get plot + res_vs_idv( + xpdb = xpdb, + mapping = mapping, + res = res, + group = group, + type = type, + title = title, + subtitle = subtitle, + caption = caption, + tag = tag, + log = log, + guide = guide, + facets = facets, + .problem = .problem, + quiet = quiet, + ... + ) +} + +#' @rdname res_vs_tad +#' @export +absval_res_vs_tad <- function(xpdb, + mapping = NULL, + res = 'CWRES', + group = 'ID', + type = 'pls', + title = '@y vs. @x | @run', + subtitle = 'Ofv: @ofv', + caption = '@dir', + tag = NULL, + log = NULL, + guide = FALSE, + facets, + .problem, + quiet, + ...) { + # Check input + check_xpdb(xpdb, check = 'data') + if (missing(.problem)) .problem <- default_plot_problem(xpdb) + check_problem(.problem, .subprob = NULL, .method = NULL) + if (missing(quiet)) quiet <- xpdb$options$quiet + + if (length(res) > 1) { + if (missing(facets)) facets <- add_facet_var(facets = xpdb$xp_theme$facets, + variable = 'variable') + opt <- data_opt(.problem = .problem, + filter = only_obs(xpdb, .problem, quiet), + tidy = TRUE, value_col = res) + vars <- aes_c(aes(x = .data[[xp_var(xpdb, .problem, type = 'tad')$col]], + y = abs(.data[["value"]])), mapping) + } else { + if (missing(facets)) facets <- xpdb$xp_theme$facets + opt <- data_opt(.problem = .problem, + filter = only_obs(xpdb, .problem, quiet)) + vars <- aes_c(aes(x = .data[[xp_var(xpdb, .problem, type = 'tad')$col]], + y = abs(.data[[toupper(res)]])), mapping) + } + + xplot_scatter(xpdb = xpdb, group = group, quiet = quiet, + opt = opt, mapping = vars, + type = type, guide = guide, facets = facets, + xscale = check_scales('x', log), + yscale = check_scales('y', log), + title = title, subtitle = subtitle, caption = caption, + tag = tag, plot_name = stringr::str_remove(deparse(match.call()[[1]]), "(\\w+\\.*)+::"), + guide_slope = 0, ...) +} diff --git a/man/res_vs_ipred.Rd b/man/res_vs_ipred.Rd new file mode 100644 index 00000000..a12b9e4f --- /dev/null +++ b/man/res_vs_ipred.Rd @@ -0,0 +1,132 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/plot_residuals.R +\name{res_vs_ipred} +\alias{res_vs_ipred} +\title{Residuals plotted against individual predictions} +\usage{ +res_vs_ipred( + xpdb, + mapping = NULL, + res = "CWRES", + group = "ID", + type = "pls", + title = "@y vs. @x | @run", + subtitle = "Ofv: @ofv", + caption = "@dir", + tag = NULL, + log = NULL, + guide = TRUE, + facets, + .problem, + quiet, + ... +) +} +\arguments{ +\item{xpdb}{An xpose database object.} + +\item{mapping}{List of aesthetics mappings to be used for the xpose plot +(e.g. \code{point_color}).} + +\item{res}{Type of residual to be used. Default is "CWRES".} + +\item{group}{Grouping variable to be used for lines.} + +\item{type}{String setting the type of plot to be used. Can be points 'p', +line 'l', smooth 's' and text 't' or any combination of the four.} + +\item{title}{Plot title. Use \code{NULL} to remove.} + +\item{subtitle}{Plot subtitle. Use \code{NULL} to remove.} + +\item{caption}{Page caption. Use \code{NULL} to remove.} + +\item{tag}{Plot identification tag. Use \code{NULL} to remove.} + +\item{log}{String assigning logarithmic scale to axes, can be either '', +'x', y' or 'xy'.} + +\item{guide}{Enable guide display (e.g. unity line).} + +\item{facets}{Either a character string to use \code{\link[ggforce]{facet_wrap_paginate}} +or a formula to use \code{\link[ggforce]{facet_grid_paginate}}.} + +\item{.problem}{The $problem number to be used. By default returns +the last estimation problem.} + +\item{quiet}{Logical, if \code{FALSE} messages are printed to the console.} + +\item{...}{Any additional aesthetics to be passed on \code{xplot_scatter}.} +} +\description{ +Model residuals plotted against individual predictions (IPRED). + +The residuals can be one of: +\itemize{ + \item RES: model residuals + \item WRES: weighted model residuals + \item IWRES: individual weighted model residuals + \item CWRES: conditional weighted model residuals + \item EWRES/ECWRES: Monte Carlo based model residuals + \item NPDE: Normalized prediction distribution error +} +} +\section{Layers mapping}{ + +Plots can be customized by mapping arguments to specific layers. The naming convention is +layer_option where layer is one of the names defined in the list below and option is +any option supported by this layer e.g. point_color = 'blue', smooth_method = 'lm', etc. +\itemize{ + \item point: options to \code{geom_point} + \item line: options to \code{geom_line} + \item guide: options to \code{geom_abline} + \item smooth: options to \code{geom_smooth} + \item text: options to \code{geom_text} + \item xscale: options to \code{scale_x_continuous} or \code{scale_x_log10} + \item yscale: options to \code{scale_y_continuous} or \code{scale_y_log10} +} +} + +\section{Faceting}{ + +Every xpose plot function has built-in faceting functionalities. Faceting arguments +are passed to the functions \code{\link[ggforce]{facet_wrap_paginate}} when the \code{facets} +argument is a character string (e.g. \code{facets = c('SEX', 'MED1')}) or +\code{\link[ggforce]{facet_grid_paginate}} when facets is a formula (e.g. \code{facets = SEX~MED1}). +All xpose plot functions accept all the arguments for the \code{\link[ggforce]{facet_wrap_paginate}} +and \code{\link[ggforce]{facet_grid_paginate}} functions e.g. \code{dv_vs_ipred(xpdb_ex_pk, +facets = SEX~MED1, ncol = 3, nrow = 3, page = 1, margins = TRUE, labeller = 'label_both')}. + +Faceting options can either be defined in plot functions (e.g. \code{dv_vs_ipred(xpdb_ex_pk, +facets = 'SEX')}) or assigned globally to an xpdb object via the \code{xp_theme} (e.g. \code{xpdb +<- update_themes(xpdb_ex_pk, xp_theme = list(facets = 'SEX'))}). In the latter example all plots +generate from this xpdb will automatically be stratified by `SEX`. + +By default, some plot functions use a custom stratifying variable named `variable`, e.g. +\code{eta_distrib()}. When using the \code{facets} argument, `variable` needs to be added manually +e.g. \code{facets = c('SEX', 'variable')} or \code{facets = c('SEX', 'variable')}, but is optional, +when using the \code{facets} argument in \code{xp_theme} variable is automatically added whenever needed. +} + +\section{Template titles}{ + +Template titles can be used to create highly informative diagnostics plots. +They can be applied to any plot title, subtitle, caption and tag. Template titles +are defined via a single string containing key variables staring with a `@` (e.g. `@ofv`) +which will be replaced by their actual value when rendering the plot. +For example `'@run, @nobs observations in @nind subjects'` would become +`'run001, 1022 observations in 74 subjects'`. The available key variables +are listed under \code{\link{template_titles}}. +} + +\examples{ +# Standard residual +res_vs_ipred(xpdb_ex_pk, res = c('IWRES', 'CWRES')) + +# Absolute value of the residuals +absval_res_vs_ipred(xpdb_ex_pk, res = 'CWRES') + +} +\seealso{ +\code{\link{xplot_scatter}} +} diff --git a/man/res_vs_pred.Rd b/man/res_vs_pred.Rd index d9bd3282..c37bcb9d 100755 --- a/man/res_vs_pred.Rd +++ b/man/res_vs_pred.Rd @@ -3,6 +3,7 @@ \name{res_vs_pred} \alias{res_vs_pred} \alias{absval_res_vs_pred} +\alias{absval_res_vs_ipred} \title{Residuals plotted against population predictions} \usage{ res_vs_pred( @@ -40,6 +41,24 @@ absval_res_vs_pred( quiet, ... ) + +absval_res_vs_ipred( + xpdb, + mapping = NULL, + res = "CWRES", + group = "ID", + type = "pls", + title = "@y vs. @x | @run", + subtitle = "Ofv: @ofv", + caption = "@dir", + tag = NULL, + log = NULL, + guide = FALSE, + facets, + .problem, + quiet, + ... +) } \arguments{ \item{xpdb}{An xpose database object.} @@ -84,6 +103,7 @@ The residuals can be one of: \itemize{ \item RES: model residuals \item WRES: weighted model residuals + \item IWRES: individual weighted model residuals \item CWRES: conditional weighted model residuals \item EWRES/ECWRES: Monte Carlo based model residuals \item NPDE: Normalized prediction distribution error From bcc3fd040ab19f157d6cc0db4bd9cba9047461d3 Mon Sep 17 00:00:00 2001 From: sebastien Date: Sun, 2 Apr 2023 07:38:38 -0400 Subject: [PATCH 7/7] New exported functions --- NAMESPACE | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/NAMESPACE b/NAMESPACE index 94d3e8a5..e3fb93c1 100755 --- a/NAMESPACE +++ b/NAMESPACE @@ -15,7 +15,9 @@ S3method(summary,xpose_data) S3method(ungroup,xpose_data) export("%>%") export(absval_res_vs_idv) +export(absval_res_vs_ipred) export(absval_res_vs_pred) +export(absval_res_vs_tad) export(add_facet_var) export(aes_c) export(aes_filter) @@ -24,6 +26,7 @@ export(all_data_problem) export(all_file_problem) export(amt_vs_idv) export(append_suffix) +export(apply_formats) export(as.ctime) export(as.nm.table.list) export(as.xpdb) @@ -62,6 +65,10 @@ export(get_prm) export(get_prm_transformation_formulas) export(get_special) export(get_summary) +export(get_var_labels) +export(get_var_labels_units) +export(get_var_types) +export(get_var_units) export(grab_iter) export(grd_vs_iteration) export(group_by) @@ -111,9 +118,12 @@ export(reorder_factors) export(res_distrib) export(res_qq) export(res_vs_idv) +export(res_vs_ipred) export(res_vs_pred) +export(res_vs_tad) export(select) export(set_var_labels) +export(set_var_labels_units) export(set_var_types) export(set_var_units) export(slice)