sign.flip {supclust} | R Documentation |
Computes the score
for each predictor variable
(gene) in the x
-Matrix, and multiplies its values with (-1) if
its score
is greater or equal than half of the maximal
score
. For gene expression data, this amounts to treating
under- and overexpression symmetrically. After the sign-flip
procedure, low (expression) values point towards response class 0 and
high (expression) values point towards class 1.
sign.flip(x, y)
x |
Numeric matrix of explanatory variables (p variables in columns, n cases in rows). For example, these can be microarray gene expression data which should be sign-flipped and then clustered. |
y |
Numeric vector of length n containing the class labels of the individuals. These labels have to be coded by 0 and 1. |
Returns a list containing:
flipped.matrix |
The sign-flipped x -matrix. |
signs |
Numeric vector of length p, which for each predictor variable indicates whether it was sign-flipped (coded by -1) or not (coded by +1). |
Marcel Dettling, dettling@stat.math.ethz.ch
Marcel Dettling (2002) Supervised Clustering of Genes, see http://stat.ethz.ch/~dettling/supercluster.html
Marcel Dettling and Peter Bühlmann (2002). Supervised Clustering of Genes. Genome Biology, 3(12): research0069.1-0069.15.
wilma
and score
, as well as for a
newer methodology, pelora
and sign.change
.
data(leukemia, package="supclust") op <- par(mfrow=c(1,3)) plot(leukemia.x[,69],leukemia.y) title(paste("Margin = ", round(margin(leukemia.x[,69], leukemia.y),2))) ## Sign-flipping is very important plot(leukemia.x[,161],leukemia.y) title(paste("Margin = ", round(margin(leukemia.x[,161], leukemia.y),2))) x <- sign.flip(leukemia.x, leukemia.y)$flipped.matrix plot(x[,161],leukemia.y) title(paste("Margin = ", round(margin(x[,161], leukemia.y),2))) par(op)# reset