# Xpose 4
# An R-based population pharmacokinetic/
# pharmacodynamic model building aid for NONMEM.
# Copyright (C) 1998-2004 E. Niclas Jonsson and Mats Karlsson.
# Copyright (C) 2005-2008 Andrew C. Hooker, Justin J. Wilkins,
# Mats O. Karlsson and E. Niclas Jonsson.
# Copyright (C) 2009-2010 Andrew C. Hooker, Mats O. Karlsson and
# E. Niclas Jonsson.
# This file is a part of Xpose 4.
# Xpose 4 is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public License
# as published by the Free Software Foundation, either version 3
# of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
# You should have received a copy of the GNU Lesser General Public License
# along with this program. A copy can be cound in the R installation
# directory under \share\licenses. If not, see http://www.gnu.org/licenses/.
#' Absolute value of the conditional weighted residuals vs. population
#' predictions, conditioned on covariates, for Xpose 4
#'
#' This is a plot of absolute population conditional weighted residuals
#' (|CWRES|) vs population predictions (PRED) conditioned by covariates, a
#' specific function in Xpose 4. It is a wrapper encapsulating arguments to the
#' \code{xpose.plot.default} function. Most of the options take their default
#' values from xpose.data object but may be overridden by supplying them as
#' arguments.
#'
#' Each of the covariates in the Xpose data object, as specified in
#' \code{object@Prefs@Xvardef$Covariates}, is evaluated in turn, creating a
#' stack of plots.
#'
#' The \code{main} argument is not supported owing to the multiple plots
#' generated by the function.
#'
#' Conditional weighted residuals (CWRES) require some extra steps to
#' calculate. See \code{\link{compute.cwres}} for details.
#'
#' A wide array of extra options controlling xyplots are available. See
#' \code{\link{xpose.plot.default}} for details.
#'
#' @inheritParams dv.vs.ipred.by.cov
#' @param object An xpose.data object.
#' @param ylb A string giving the label for the y-axis. \code{NULL} if none.
#' @param idsdir Direction for displaying point labels. The default is "up",
#' since we are displaying absolute values.
#' @param type Type of plot. The default is points only ("p"), but lines ("l")
#' and both ("b") are also available.
#' @param smooth Logical value indicating whether an x-y smooth should be
#' superimposed. The default is TRUE.
#' @param main The title of the plot. If \code{"Default"} then a default title
#' is plotted. Otherwise the value should be a string like \code{"my title"} or
#' \code{NULL} for no plot title.
#' @param \dots Other arguments passed to \code{link{xpose.plot.default}}.
#' @return Returns a stack of xyplots of |CWRES| vs PRED, conditioned on
#' covariates.
#' @author E. Niclas Jonsson, Mats Karlsson, Andrew Hooker & Justin Wilkins
#' @seealso \code{\link{absval.cwres.vs.pred}},
#' \code{\link{xpose.plot.default}}, \code{\link{xpose.panel.default}},
#' \code{\link[lattice]{xyplot}}, \code{\link{xpose.prefs-class}},
#' \code{\link{compute.cwres}}, \code{\link{xpose.data-class}}
#' @keywords methods
#' @examples
#'
#' absval.cwres.vs.pred.by.cov(simpraz.xpdb, covs=c("HCTZ","WT"), max.plots.per.page=2)
#'
#' @export
#' @family specific functions
absval.cwres.vs.pred.by.cov <-
function(object,
covs="Default",
ylb = "|CWRES|",
type="p",
smooth=TRUE,
idsdir="up",
main="Default",
...) {
if(is.null(check.vars(c("pred","cwres"),
object,silent=FALSE))) {
return()
}
# handle covs argument
if(all(covs == "Default")) {
if(is.null(check.vars(c("covariates"),object))) return(NULL)
covs <- xvardef("covariates", object)
} else {
if(is.null(check.vars(covs,object))) return(NULL)
}
## create plot list
plotList <- vector("list",length(covs))
plot.num <- 0 # initialize plot number
for (i in covs) {
xplot <- xpose.plot.default(xvardef("pred",object),
xvardef("cwres",object),
object,
main=NULL,
funy="abs",
ylb=ylb,
type=type,
smooth=smooth,
by=i,
idsdir=idsdir,
pass.plot.list = TRUE,
...)
plot.num <- plot.num+1
plotList[[plot.num]] <- xplot
}
default.plot.title <- paste("|",xlabel(xvardef("cwres",object),object),
"| \nvs ",
xlabel(xvardef("pred",object),object),
sep="")
plotTitle <- xpose.multiple.plot.title(object=object,
plot.text = default.plot.title,
main=main,
...)
obj <- xpose.multiple.plot(plotList,plotTitle,...)
return(obj)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.