> I am trying to produce a heatmap of pairwise correlations, but since the matrix is > symmetric, I only need either the upper or the lower triangle. I have scoured the > web and R documentation, but I have not been able to find a way to produce such a > figure. Is there a simple way to produce a heat map with only the part above or > below the diagonal?You might want to check out the LDheatmap() package which can generate the plots you describe. The help indicates that it accepts a matrix of pair-wise linkage disequilibrium measures, one of which is R^2 (the correlation coefficient between loci), but I suspect you could simply pass it a matrix of correlation coefficents. Hope that helps, Neil -- "In mathematics you don't understand things. You just get used to them." - Johann von Neumann Email - nshephard at gmail.com / n.shephard at sheffield.ac.uk Website - http://slack.ser.man.ac.uk/ Photos - http://www.flickr.com/photos/slackline/
Thank you for your reply. I have looked at LDheatmap, but it does not seem to do what I want and seems to only work well for LD data. I was looking for something that would produce a figure identical to what heatmap.2 gives me, including the proper X and Y-axis labels and a dendogram, except that it would only have half of the map. Preferably, it would have the Color Key in the place where the other triangle of the heatmap would be, to save space. Jeff -----Original Message----- From: Neil Shephard [mailto:nshephard at gmail.com] Sent: Mon 6/25/2007 6:14 AM To: r-help at stat.math.ethz.ch Cc: Rosenfeld, Jeffrey Subject: Re : [R] Half of a heatmap> I am trying to produce a heatmap of pairwise correlations, but since the matrix is > symmetric, I only need either the upper or the lower triangle. I have scoured the > web and R documentation, but I have not been able to find a way to produce such a > figure. Is there a simple way to produce a heat map with only the part above or > below the diagonal?You might want to check out the LDheatmap() package which can generate the plots you describe. The help indicates that it accepts a matrix of pair-wise linkage disequilibrium measures, one of which is R^2 (the correlation coefficient between loci), but I suspect you could simply pass it a matrix of correlation coefficents. Hope that helps, Neil -- "In mathematics you don't understand things. You just get used to them." - Johann von Neumann Email - nshephard at gmail.com / n.shephard at sheffield.ac.uk Website - http://slack.ser.man.ac.uk/ Photos - http://www.flickr.com/photos/slackline/
> I am trying to produce a heatmap of pairwise correlations, butsince the matrix is> symmetric, I only need either the upper or the lower triangle. I have scoured the > web and R documentation, but I have not been able to find a way to produce such a > figure. Is there a simple way to produce a heat map with only the part above or > below the diagonal?Can you not just set the lower or upper triangle to NAs, and pass this on to heatmap - or am I misunderstanding you? tmp <- matrix(rnorm(100),10,10) tmp[lower.tri(tmp)] <- NA heatmap(tmp, Rowv=NA, Colv=NA) Regards - Gavin -- Gavin Kelly Senior Statistician, Bioinformatics & Biostatistics Group Cancer Research UK