Learn R Programming

GeneSelector (version 2.22.0)

AggregateSVD: Agregation of repeated rankings using the singular value decomposition (SVD)

Description

A matrix storing all rankings is centered rowwise (=genewise), and then approximated using only the first singular value and the first singular vectors (s. Golub and Van Loan (1983) for details about the SVD). The rowwise mean vector is added afterwards, and the rowwise mean are finally used as aggregation. A weighting scheme giving more weight to top genes is incorporated by an (iteratively) weighted SVD, which is re-computed until convergence. Note that the SVD is closely related to principal component analysis, a standard tool for dimension reduction in high-dimensional datasets.

Usage

AggregateSVD(RR, weightscheme = c("original", "iterative"), decay = c("linear", "quadratic", "exponential"), alpha=1)

Arguments

RR
An object of class RepeatedRanking
weightscheme
If weightscheme = "original", the weights are computed according to the reference ranking RR@ranking@original. If weightscheme = "iterative", the weights are intially set to 1 for all genes. After the computation of the SVD and in turn the first aggregation, the weightes are updated according to that aggregation. This process is repeated until convergence.
decay
Argument controlling the weight decay of the weights of the summands contributing to the stability measure. If decay=linear, then we have weight 1/r for rank r, if decay=quadratic, then the weight is 1/r^2 and if decay=quadratic, then the weight is exp(-alpha*r) where alpha is a tuning parameter, specified via the argument alpha.
alpha
s. decay.

Value

AggregatedRanking.

References

Golub, G., Van Loan, C. (1983) Matrix Computations John Hopkins University Press

See Also

RepeatRanking, AggregateSimple, AggregatePenalty, AggregateMC

Examples

Run this code
## Load toy gene expression data
data(toydata)
### class labels
yy <- toydata[1,]
### gene expression
xx <- toydata[-1,]
### run RankingTstat
ordT <- RankingTstat(xx, yy, type="unpaired")
### Generate Leave-one-out Foldmatrix
loo <- GenerateFoldMatrix(y = yy, k=1)
### Get all rankings
loor_ordT <- RepeatRanking(ordT, loo)
### aggregate rankings
agg_svd_ordT <- AggregateSVD(loor_ordT, weightscheme = "iterative", decay = "linear")
toplist(agg_svd_ordT)

Run the code above in your browser using DataLab