Learn R Programming

superpc (version 1.12)

superpc.fit.to.outcome: Fit predictive model using outcome of supervised principal components

Description

Fit predictive model using outcome of supervised principal components, via either coxph (for surival data) or lm (for regression data)

Usage

superpc.fit.to.outcome(fit, 
                           data.test, 
                           score, 
                           competing.predictors=NULL, 
                           print=TRUE, 
                           iter.max=5)

Arguments

fit

Object returned by superpc.train.

data.test

Data object for prediction. Same form as data object documented in superpc.train.

score

Supervised principal component score, from superpc.predict.

competing.predictors

Optional - a list of competing predictors to be included in the model.

print

Should a summary of the fit be printed? Default TRUE.

iter.max

Max number of iterations used in predictive model fit. Default 5. Currently only relevant for Cox PH model.

Value

Returns summary of coxph or lm fit.

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

Run this code
# NOT RUN {
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, 
                       prediction.type="continuous")
superpc.fit.to.outcome(a, 
                       data, 
                       fit$v.pred)
# }

Run the code above in your browser using DataLab