superpc.predict {superpc} | R Documentation |
Form principal components predictor from a trained superpc object
Description
Computes supervised principal components, using scores from "object"
Usage
superpc.predict(object,
data,
newdata,
threshold,
n.components=3,
prediction.type=c("continuous","discrete","nonzero"),
n.class=2)
Arguments
object |
Obect returned by superpc.train |
data |
List of training data, of form described in superpc.train documentation, |
newdata |
List of test data; same form as training data |
threshold |
Threshold for scores: features with abs(score) > threshold are retained. |
n.components |
Number of principal components to compute. Should be 1,2 or 3. |
prediction.type |
"continuous" for raw principal component(s); "discrete" for principal component categorized in equal bins; "nonzero" for indices of features that pass the threshold |
n.class |
Number of classes into which predictor is binned (for prediction.type="discrete" |
Value
v.pred |
Supervised principal componients predictor |
u |
U matrix from svd of feature matrix x |
d |
singual values from svd of feature matrix x |
which.features |
Indices of features exceeding threshold |
n.components |
Number of supervised principal components requested |
call |
calling sequence |
Author(s)
"Eric Bair, Ph.D."
"Jean-Eudes Dazard, Ph.D."
"Rob Tibshirani, Ph.D."
Maintainer: "Jean-Eudes Dazard, Ph.D."
References
E. Bair and R. Tibshirani (2004). "Semi-supervised methods to predict patient survival from gene expression data." PLoS Biol, 2(4):e108.
E. Bair, T. Hastie, D. Paul, and R. Tibshirani (2006). "Prediction by supervised principal components." J. Am. Stat. Assoc., 101(473):119-137.
Examples
set.seed(332)
#generate some data
x <- matrix(rnorm(50*30), ncol=30)
y <- 10 + svd(x[1:50,])$v[,1] + .1*rnorm(30)
ytest <- 10 + svd(x[1:50,])$v[,1] + .1*rnorm(30)
censoring.status <- sample(c(rep(1,20), rep(0,10)))
censoring.status.test <- sample(c(rep(1,20), rep(0,10)))
featurenames <- paste("feature", as.character(1:50), sep="")
data <- list(x=x,
y=y,
censoring.status=censoring.status,
featurenames=featurenames)
data.test <- list(x=x,
y=ytest,
censoring.status=censoring.status.test,
featurenames=featurenames)
a <- superpc.train(data, type="survival")
fit <- superpc.predict(a,
data,
data.test,
threshold=1.0,
n.components=1)
plot(fit$v.pred, ytest)