pamr.decorrelate | R Documentation |
A function to decorrelate (adjust) the feature matrix with respect to some additional predictors
pamr.decorrelate(
x,
adjusting.predictors,
xtest = NULL,
adjusting.predictors.test = NULL
)
x |
Matrix of training set feature values, with genes in the rows, samples in the columns |
adjusting.predictors |
List of training set predictors to be used for adjustment |
xtest |
Optional matrix of test set feature values, to be adjusted in the same way as the training set |
adjusting.predictors.test |
Optional list of test set predictors to be used for adjustment |
pamr.decorrelate
Does a least squares regression of each row of x on
the adjusting predictors, and returns the residuals. If xtest is provided,
it also returns the adjusted version of xtest, using the training set least
squares regression model for adjustment
A list with components
x.adj |
Adjusted x matrix |
xtest.adj |
Adjusted xtest matrix, if xtest we provided |
Trevor Hastie,Robert Tibshirani, Balasubramanian Narasimhan, and Gilbert Chu
Robert Tibshirani, Trevor Hastie, Balasubramanian Narasimhan, and Gilbert Chu Diagnosis of multiple cancer types by shrunken centroids of gene expression PNAS 99: 6567-6572. Available at www.pnas.org
#generate some data
suppressWarnings(RNGversion("3.5.0"))
set.seed(120)
x<-matrix(rnorm(1000*20),ncol=20)
y<-c(rep(1,10),rep(2,10))
adjusting.predictors=list(pred1=rnorm(20), pred2=as.factor(sample(c(1,2),replace
=TRUE,size=20)))
xtest=matrix(rnorm(1000*10),ncol=10)
adjusting.predictors.test=list(pred1=rnorm(10), pred2=as.factor(sample(c(1,2),replace
=TRUE,size=10)))
# decorrelate training x wrt adjusting predictors
x.adj=pamr.decorrelate(x,adjusting.predictors)$x.adj
# train classifier with adjusted x
d=list(x=x.adj,y=y)
a<-pamr.train(d)
# decorrelate training and test x wrt adjusting predictors, then make
#predictions for test set
temp <- pamr.decorrelate(x,adjusting.predictors, xtest=xtest,
adjusting.predictors.test=adjusting.predictors.test)
d=list(x=temp$x.adj,y=y)
a<-pamr.train(d)
aa<-pamr.predict(a,temp$xtest.adj, threshold=.5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.