[Rd] (PR#7972) row-side color bars ... in heatmap
maechler@stat.math.ethz.ch
maechler at stat.math.ethz.ch
Wed Jun 29 16:48:59 CEST 2005
Hi Kevin,
>>>>> "krc" == krc <krc at odin.mdacc.tmc.edu>
>>>>> on Mon, 27 Jun 2005 21:55:37 +0200 (CEST) writes:
krc> Full_Name: Kevin R. Coombes
krc> Version: 2.1.0
krc> OS: Windows XP
krc> Submission from: (NULL) (143.111.224.169)
krc> When revC = TRUE and RowSideColors is set to a list of
krc> colors in heatmap, then the image and dendrogram are
krc> inverted, but the row-side color map does not
krc> change. The following script illustrates the problem.
krc> ##############
krc> set.seed(1023)
krc> # generate columns of two different types
krc> d1 <- matrix(rnorm(100*6, rnorm(100, 0.5)), nrow=100, ncol=6, byrow=FALSE)
krc> d2 <- matrix(rnorm(100*4, rnorm(100, 0.5)), nrow=100, ncol=4, byrow=FALSE)
krc> # join them together
krc> dd <- cbind(d1, d2)
krc> # label them with different colors
krc> cols <- rep(c('blue', 'green'), times=c(6,4))
krc> # change the order of the columns and the matching labels
krc> # to show that reordering occurs in one case in heatmap
krc> col.order <- sample(10)
krc> dd <- dd[, col.order]
krc> cols <- cols[col.order]
krc> # compute the dendrogram to be used in the display
krc> hc <- hclust(dist(dd, 'euclid'))
a clustering of 100 observational units
krc> # get the correlation matrix
krc> m <- cor(dd)
a 10 x 10 matrix ; i.e. 10 row units and 10 column units.
Hence the following never works,
at least not for the heatmap() function as in ``standard R''.
krc> # this version works correctly
krc> heatmap(m, Rowv=as.dendrogram(hc), symm=TRUE, revC=FALSE, RowSideColors=cols)
gives immediately the obvious error
Error in heatmap(m, Rowv = ............ :
row dendrogram ordering gave index of wrong length
krc> #this version reverses the dendrogram and image, but not the colors
krc> heatmap(m, Rowv=as.dendrogram(hc), symm=TRUE, revC=TRUE,
krc> RowSideColors=cols)
so I wonder what you did want.
Regards,
Martin
More information about the R-devel
mailing list