# Form principal components predictor from a trained superpc object

### Description

Computes supervised principal components, using scores from "object"

### Usage

1 | ```
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 and Robert Tibshirani

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ```
set.seed(332)
#generate some data
x<-matrix(rnorm(1000*20),ncol=20)
y<-10+svd(x[1:30,])$v[,1]+ .1*rnorm(20)
ytest<-10+svd(x[1:30,])$v[,1]+ .1*rnorm(20)
censoring.status<- sample(c(rep(1,17),rep(0,3)))
censoring.status.test<- sample(c(rep(1,17),rep(0,3)))
featurenames <- paste("feature",as.character(1:1000),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)
``` |