Last data update: 2014.03.03

R: 2D Visualization of Data Scatter and Box Vertices
plot.PRSPR Documentation

2D Visualization of Data Scatter and Box Vertices

Description

S3-generic plotting function for two-dimensional visualization of original data as well as predicted data scatter with cross-validated box vertices of a PRSP object. The scatter plot is for a given peeling step of the peeling sequence and in a given plane of the used covariates of the PRSP object, both specified by the user.

Usage

  ## S3 method for class 'PRSP'
plot(x,
                      main = NULL,
                      proj = c(1,2), 
                      splom = TRUE, 
                      boxes = FALSE,
                      steps = x$cvfit$cv.nsteps,
                      pch = 16, 
                      cex = 0.5, 
                      col = 2:(length(steps)+1), 
                      col.box = 2:(length(steps)+1), 
                      lty.box = rep(2,length(steps)), 
                      lwd.box = rep(1,length(steps)),
                      add.legend = TRUE, 
                      device = NULL, 
                      file = "Scatter Plot", 
                      path=getwd(), 
                      horizontal = FALSE, 
                      width = 5, 
                      height = 5, ...)

Arguments

x

Object of class PRSP as generated by the main function sbh.

main

Character vector. Main Title. Defaults to NULL.

proj

Integer vector of length two, specifying the two dimensions of the projection plane of of the used covariates of the PRSP object. Defaults to first two dimensions: {1,2}.

splom

Logical scalar. Shall the scatter plot of points inside the box(es) be plotted? Default to TRUE.

boxes

Logical scalar. Shall the box vertices be plotted or just the scatter of points? Default to FALSE.

steps

Integer vector. Vector of peeling steps at which to plot the in-box samples and box vertices. Defaults to the last peeling step of PRSP object object.

pch

Integer scalar of symbol number for the scatter plot. Defaults to 16.

cex

Integer scalar of symbol expansion. Defaults to 0.5.

col

Integer vector specifying the symbol color for each step. Defaults to vector of colors of length the number of steps. The vector is reused cyclically if it is shorter than the number of steps.

col.box

Integer vector of line color of box vertices for each step. Defaults to vector of colors of length the number of steps. The vector is reused cyclically if it is shorter than the number of steps.

lty.box

Integer vector of line type of box vertices for each step. Defaults to vector of 2's of length the number of steps. The vector is reused cyclically if it is shorter than the number of steps.

lwd.box

Integer vector of line width of box vertices for each step. Defaults to vector of 1's of length the number of steps. The vector is reused cyclically if it is shorter than the number of steps.

add.legend

Logical scalar. Shall the legend of steps numbers be plotted? Defaults to TRUE.

device

Graphic display device in {NULL, "PS", "PDF"}. Defaults to NULL (standard output screen). Currently implemented graphic display devices are "PS" (Postscript) or "PDF" (Portable Document Format).

file

File name for output graphic. Defaults to "Scatter Plot".

path

Absolute path (without final (back)slash separator). Defaults to working directory path.

horizontal

Logical scalar. Orientation of the printed image. Defaults to FALSE, that is potrait orientation.

width

Numeric scalar. Width of the graphics region in inches. Defaults to 5.

height

Numeric scalar. Height of the graphics region in inches. Defaults to 5.

...

Generic arguments passed to other plotting functions.

Details

The scatterplot is drawn on a graphical device with geometrically equal scales on the X and Y axes.

Value

Invisible. None. Displays the plot(s) on the specified device.

Note

End-user plotting function.

Author(s)

Maintainer: "Jean-Eudes Dazard, Ph.D." jxd101@case.edu

Acknowledgments: This project was partially funded by the National Institutes of Health NIH - National Cancer Institute (R01-CA160593) to J-E. Dazard and J.S. Rao.

References

  • Dazard J-E., Choe M., LeBlanc M. and Rao J.S. (2015). "Cross-validation and Peeling Strategies for Survival Bump Hunting using Recursive Peeling Methods." Statistical Analysis and Data Mining (in press).

  • Dazard J-E., Choe M., LeBlanc M. and Rao J.S. (2014). "Cross-Validation of Survival Bump Hunting by Recursive Peeling Methods." In JSM Proceedings, Survival Methods for Risk Estimation/Prediction Section. Boston, MA, USA. American Statistical Association IMS - JSM, p. 3366-3380.

  • Dazard J-E., Choe M., LeBlanc M. and Rao J.S. (2015). "R package PRIMsrc: Bump Hunting by Patient Rule Induction Method for Survival, Regression and Classification." In JSM Proceedings, Statistical Programmers and Analysts Section. Seattle, WA, USA. American Statistical Association IMS - JSM, (in press).

  • Dazard J-E. and J.S. Rao (2010). "Local Sparse Bump Hunting." J. Comp Graph. Statistics, 19(4):900-92.

Examples

#===================================================
# Loading the library and its dependencies
#===================================================
library("PRIMsrc")

#=================================================================================
# Simulated dataset #1 (n=250, p=3)
# Non Replicated Combined Cross-Validation (RCCV)
# Peeling criterion = LRT
# Optimization criterion = LRT
#=================================================================================
CVCOMB.synt1 <- sbh(dataset = Synthetic.1, 
                    cvtype = "combined", cvcriterion = "lrt",
                    B = 1, K = 5, 
                    vs = TRUE, cpv = FALSE, 
                    decimals = 2, probval = 0.5, 
                    arg = "beta=0.05,
                           alpha=0.1,
                           minn=10,
                           L=NULL,
                           peelcriterion="lr"",
                    parallel = FALSE, conf = NULL, seed = 123)

plot(x = CVCOMB.synt1,
     main = paste("Scatter plot for model #1", sep=""),
     proj = c(1,2), splom = TRUE, boxes = TRUE,
     steps = CVCOMB.synt1$cvfit$cv.nsteps,
     pch = 16, cex = 0.5, col = 2,
     col.box = 2, lty.box = 2, lwd.box = 1,
     add.legend = TRUE, device = NULL)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(PRIMsrc)
Loading required package: parallel
Loading required package: survival
Loading required package: Hmisc
Loading required package: lattice
Loading required package: Formula
Loading required package: ggplot2

Attaching package: 'Hmisc'

The following objects are masked from 'package:base':

    format.pval, round.POSIXt, trunc.POSIXt, units

Loading required package: glmnet
Loading required package: Matrix
Loading required package: foreach
Loaded glmnet 2.0-5

Loading required package: MASS
PRIMsrc 0.6.3
Type PRIMsrc.news() to see new features, changes, and bug fixes

> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/PRIMsrc/plot.Rd_%03d_medium.png", width=480, height=480)
> ### Name: plot.PRSP
> ### Title: 2D Visualization of Data Scatter and Box Vertices
> ### Aliases: plot plot.PRSP
> ### Keywords: Exploratory Survival/Risk Analysis Survival/Risk Estimation &
> ###   Prediction Non-Parametric Method Cross-Validation Bump Hunting
> ###   Rule-Induction Method
> 
> ### ** Examples
> 
> #===================================================
> # Loading the library and its dependencies
> #===================================================
> library("PRIMsrc")
> 
> #=================================================================================
> # Simulated dataset #1 (n=250, p=3)
> # Non Replicated Combined Cross-Validation (RCCV)
> # Peeling criterion = LRT
> # Optimization criterion = LRT
> #=================================================================================
> CVCOMB.synt1 <- sbh(dataset = Synthetic.1, 
+                     cvtype = "combined", cvcriterion = "lrt",
+                     B = 1, K = 5, 
+                     vs = TRUE, cpv = FALSE, 
+                     decimals = 2, probval = 0.5, 
+                     arg = "beta=0.05,
+                            alpha=0.1,
+                            minn=10,
+                            L=NULL,
+                            peelcriterion="lr"",
+                     parallel = FALSE, conf = NULL, seed = 123)

Survival dataset provided.

Requested single 5-fold cross-validation without replications 
Cross-validation technique:  COMBINED 
Cross-validation criterion:  LRT 
Variable pre-selection: TRUE 
Computation of permutation p-values: FALSE 
Peeling criterion:  LRT 
Parallelization: FALSE 

Pre-selection of covariates and determination of directions of peeling... 
Pre-selected covariates:
X1 X2 X3 
 1  2  3 
Directions of peeling at each step of pre-selected covariates:
X1 X2 X3 
 1 -1 -1 
Fitting and cross-validating the Survival Bump Hunting model using the PRSP algorithm ... 
replicate : 1
seed : 123
Fold : 1
Fold : 2
Fold : 3
Fold : 4
Fold : 5
Success! 1 (replicated) cross-validation(s) has(ve) completed 
Generating cross-validated optimal peeling lengths from all replicates ...
Generating cross-validated box memberships at each step ...
Generating cross-validated box rules for the pre-selected covariates at each step ...
Generating cross-validated modal trace values of covariate usage at each step ...
Covariates used for peeling at each step, based on covariate trace modal values:
X1 X2 
 1  2 
Generating cross-validated box statistics at each step ...
Finished!
> 
> plot(x = CVCOMB.synt1,
+      main = paste("Scatter plot for model #1", sep=""),
+      proj = c(1,2), splom = TRUE, boxes = TRUE,
+      steps = CVCOMB.synt1$cvfit$cv.nsteps,
+      pch = 16, cex = 0.5, col = 2,
+      col.box = 2, lty.box = 2, lwd.box = 1,
+      add.legend = TRUE, device = NULL)
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>