|
DATA MINING
Desktop Survival Guide by Graham Williams |
|
|||
Colourful Correlations |
You could write your own path.colors as below and obtain a more colourful correlation plot. The colours are quite garish but it gives an idea of what is possible--The reds and purples give a good indication of high correlation (negative and positive), while the blues and greens identify less correlation.
# Suggested by Duncan Murdoch
path.colors <- function(n, path=c('cyan', 'white', 'magenta'),
interp=c('rgb','hsv'))
{
interp <- match.arg(interp)
path <- col2rgb(path)
nin <- ncol(path)
if (interp == 'hsv')
{
path <- rgb2hsv(path)
# Modify the interpolation so that the circular nature of hue
for (i in 2:nin)
path[1,i] <- path[1,i] + round(path[1,i-1]-path[1,i])
result <- apply(path, 1, function(x) approx(seq(0, 1,
len=nin), x, seq(0, 1, len=n))$y)
return(hsv(result[,1] %% 1, result[,2], result[,3]))
}
else
{
result <- apply(path, 1, function(x) approx(seq(0, 1,
len=nin), x, seq(0, 1, len=n))$y)
return(rgb(result[,1]/255, result[,2]/255, result[,3]/255))
}
}
pdf('graphics/rplot-corr-wine.pdf')
library(ellipse)
load('wine.Rdata')
corr.wine <- cor(wine)
ord <- order(corr.wine[1,])
xc <- corr.wine[ord, ord]
plotcorr(xc, col=path.colors(11,
c("red","green", "blue","red"),
interp="hsv")[5*xc + 6])
dev.off()
|