plot,stability.path-method {quadrupen} | R Documentation |
Plot method for stability.path
.
Description
Produce a plot of the stability path obtained by stability selection.
Usage
\S4method{plot}{stability.path}(x, y, xvar = "lambda", annot=TRUE,
main = paste("Stability path for ", slot(x, "penalty")," regularizer", sep=""),
log.scale = TRUE, labels = rep("unknown status",p), plot = TRUE,
sel.mode = c("rank","PFER"), cutoff=0.75, PFER=2, nvar=floor(n/log(p)), ...)
Arguments
x |
output of a |
y |
used for S4 compatibility. |
xvar |
variable to plot on the X-axis: either |
annot |
logical; should annotation be made on the graph
regarding controlled PFER (only relevant when |
main |
main title. If none given, a somewhat appropriate title is automatically generated. |
log.scale |
logical; indicates if a log-scale should be used
when |
labels |
an optional vector of labels for each variable in the path (e.g., 'relevant'/'irrelevant'). See examples. |
plot |
logical; indicates if the graph should be
plotted. Default is |
sel.mode |
a character string, either |
cutoff |
value of the cutoff probability (only relevant when
|
PFER |
value of the per-family error rate to control (only
relevant when |
nvar |
number of variables selected (only relevant when
|
... |
used for S4 compatibility. |
Value
a list with a ggplot2 object which can be plotted
via the print
method, and a vector of selected variables
corresponding to method of choice ('rank'
or
'PFER'
)
Examples
## Simulating multivariate Gaussian with blockwise correlation
## and piecewise constant vector of parameters
beta <- rep(c(0,1,0,-1,0), c(25,10,25,10,25))
Soo <- matrix(0.75,25,25) ## bloc correlation between zero variables
Sww <- matrix(0.75,10,10) ## bloc correlation between active variables
Sigma <- bdiag(Soo,Sww,Soo,Sww,Soo) + 0.2
diag(Sigma) <- 1
n <- 100
x <- as.matrix(matrix(rnorm(95*n),n,95) %*% chol(Sigma))
y <- 10 + x %*% beta + rnorm(n,0,10)
## Build a vector of label for true nonzeros
labels <- rep("irrelevant", length(beta))
labels[beta != 0] <- c("relevant")
labels <- factor(labels, ordered=TRUE, levels=c("relevant","irrelevant"))
## Call to stability selection function, 200 subsampling
stab <- stability(x,y, subsamples=200, lambda2=1, min.ratio=1e-2)
## Build the plot an recover the selected variable
plot(stab, labels=labels)
plot(stab, xvar="fraction", labels=labels, sel.mode="PFER", cutoff=0.75, PFER=2)