#pairs.panels(attitude) #see the graphics window
## The function is currently defined as
function (x, y, smooth = TRUE, scale = FALSE, digits = 2, ...)
{
if (smooth) {
if (scale) {
pairs(x, diag.panel = panel.hist, upper.panel = panel.cor.scale,
lower.panel = panel.smooth, ...)
}
else {
pairs(x, diag.panel = panel.hist, upper.panel = panel.cor,
lower.panel = panel.smooth, ...)
}
}
else {
if (scale) {
pairs(x, diag.panel = panel.hist, upper.panel = panel.cor.scale,
...)
}
else {
pairs(x, diag.panel = panel.hist, upper.panel = panel.cor,
...)
}
}
}
#
## The function is currently defined as
"panel.cor"
function(x, y, digits=2, prefix="", cex.cor)
{
usr <- par("usr"); on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
r = (cor(x, y,use="pairwise"))
txt <- format(c(round(r,digits), 0.123456789), digits=digits)[1]
txt <- paste(prefix, txt, sep="")
if(missing(cex.cor)) cex <- 0.8/strwidth(txt)
text(0.5, 0.5, txt, cex = cex )
}
## The function is currently defined as
"panel.cor.scale"
function(x, y, digits=2, prefix="", cex.cor)
{
usr <- par("usr"); on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
r = (cor(x, y,use="pairwise"))
txt <- format(c(r, 0.123456789), digits=digits)[1]
txt <- paste(prefix, txt, sep="")
if(missing(cex.cor)) cex <- 0.8/strwidth(txt)
text(0.5, 0.5, txt, cex = cex * abs(r))
}
"panel.hist"
function(x, ...)
{
usr <- par("usr"); on.exit(par(usr))
par(usr = c(usr[1:2], 0, 1.5) )
h <- hist(x, plot = FALSE)
breaks <- h$breaks; nB <- length(breaks)
y <- h$counts; y <- y/max(y)
rect(breaks[-nB], 0, breaks[-1], y, col="cyan", ...)
}
Run the code above in your browser using DataLab