| sign.change {supclust} | R Documentation |
Computes the empirical correlation for each predictor
variable (gene) in the x-Matrix with the response y, and
multiplies its values with (-1) if the empirical correlation has a
negative sign. For gene expression data, this amounts to treating
under- and overexpression symmetrically. After the sign.change,
low (expression) values point towards response class 0 and high
(expression) values point towards class 1.
sign.change(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 grouped. |
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:
x.new |
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 (2003) Finding Groups of Predictive Genes from Microarray Data, see http://stat.ethz.ch/~dettling/supervised.html
Marcel Dettling and Peter Bühlmann (2004). Finding Predictive Gene Groups from Microarray Data. To appear in the Journal of Multivariate Analysis.
pelora, as well as for older methodology,
wilma and sign.flip.
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.change(leukemia.x, leukemia.y)$x.new
plot(x[,161],leukemia.y)
title(paste("Margin = ", round(margin(x[,161], leukemia.y),2)))
par(op)