Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

superpc.predict

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)

superpc

Supervised Principal Components

v1.12
GPL (>= 3) | file LICENSE
Authors
Eric Bair [aut], Jean-Eudes Dazard [cre, ctb], Rob Tibshirani [ctb]
Initial release
2020-10-19

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.