Description Usage Arguments Details Value Author(s) See Also Examples
This function displays an expression data matrix as a heatmap with a column dendrogram. A given clustering will be shown in color. Additionally, a number of binary and interval scaled covariates can be added to characterize these clusters.
This function is just about to be deprecated. Please use functions annHeatmap
or annHeatmap2
for new projects.
1 2 3 4 5 |
x |
the numerical data matrix to be displayed. |
addvar |
data frame with (mostly binary) covariates. |
covariate |
integer indicating the one column in |
picket.control |
list of option for drawing the covariates, passed to |
h |
height at which to cut the dendrogram, as in |
clus |
an explicit vector of cluster memberships for the columns of |
cluscol |
a vector of colors used to indicate clusters. |
cluslabel |
labels to designate cluster names. |
Rowv |
either a dendrogram or a vector of reordering indexes for the rows. |
Colv |
either a dendrogram or a vector of reordering indexes for the columns. |
reorder |
logical vector of length two, indicating whether the rows and columns (in this order) should be reordered using |
distfun |
function to compute the distances between rows and columns. Defaults to |
hclustfun |
function used to cluster rows and columns. Defaults to |
scale |
indicates whether values should be scaled by either by row, column, or not at all. Defaults to |
na.rm |
logical indicating whther to remove NAs. |
do.dendro |
logical indicating whether to draw the column dendrogram. |
col |
the color scheme for |
trim |
Percentage of values to be trimmed. This helps to keep an informative color scale, see Details. |
equalize |
logical indicating whther to use the ranks of the data for setting the color scheme; alternative to |
... |
extra arguments to |
This is a heavily modified version of heatmap_2
, which is a heavily modfied version of an old version of heatmap
in package stats
, so some of the arguments are described in more detail there. The main distinguishing feature of this routine is the possibility to color a cluster solution, and to add a covariate display.
Covariates are assumed to be binary, coded as 0 and 1 (or FALSE
and TRUE
respectively). One of the covariates can be interval scaled, the column index of this variable is supplied via argument covariate
. The details of the added display are handled by the function picketplot
.
Setting trim
to a number between 0 and 1 uses equidistant classes between the (trim
)- and (1-trim
)-quantile, and lumps the values below and above this range into separate open-ended classes. If the data comes from a heavy-tailed distribution, this can save the display from putting too many values into to few classes. Alternatively, you can set equal=TRUE
, which uses an equidistant color scheme for the ranks of the values.
A list with components
rowInd |
indices of the rows of the display in terms of the rows of |
colInd |
ditto for the columns of the display. |
clus |
the cluster indices of the columns of the display. |
Original by Andy Liaw, with revisions by Robert Gentleman and Martin Maechler.
Alexander Ploner for the modifications documented here.
heatmap_2
, heatmap
, oldPicketplot
, oldCutplot.dendrogram
,
RGBColVec
, annHeatmap
, annHeatmap2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | # create data
mm = matrix(rnorm(1000, m=1), 100,10)
mm = cbind(mm, matrix(rnorm(2000), 100, 20))
mm = cbind(mm, matrix(rnorm(1500, m=-1), 100, 15))
mm2 = matrix(rnorm(450), 30, 15)
mm2 = cbind(mm2, matrix(rnorm(900,m=1.5), 30,30))
mm=rbind(mm, mm2)
colnames(mm) = paste("Sample", 1:45)
rownames(mm) = paste("Gene", 1:130)
addvar = data.frame(Var1=rep(c(0,1,0),c(10,20,15)),
Var2=rep(c(1,0,0),c(10,20,15)),
Var3=rep(c(1,0), c(15,30)),
Var4=rep(seq(0,1,length=4), c(10,5,15,15))+rnorm(45, sd=0.5))
addvar[3,3] = addvar[17,2] = addvar[34,1] =NA
colnames(addvar) = c("Variable X","Variable Y", "ZZ","Interval")
# the lame default, without clustering
# Labels do not look too hot that way
heatmap_plus(mm)
# without labels, but with cluster
dimnames(mm)=NULL
heatmap_plus(mm, h=40)
# add some covariates, with nice names
heatmap_plus(mm, addvar=addvar, cov=4)
# covariates and clustering
heatmap_plus(mm, addvar=addvar, cov=4, h=20, col=RGBColVec(64), equal=TRUE)
# Clustering without the dendrogram
cc = cutree(hclust(dist(t(mm))), k=5)
heatmap_plus(mm, addvar=addvar, cov=4, clus=cc, do.dendro=FALSE)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.