panel.cor <- function(x, y, digits = 2, prefix = "", cex.cor, ...)
{
tmp <- data.frame(x,y)
tmp$flgx <- 0
tmp$flgx[is.na(tmp$x)] <- 1
tmp$flgy <- 0
tmp$flgy[is.na(tmp$y)] <- 1
tmp <- tmp[tmp$flgx==0&tmp$flgy==0,]
x <- tmp$x
y <- tmp$y
usr <- par("usr"); on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
r <- cor(x, y)
txt <- format(c(r, 0.123456789), digits = digits)[1]
txt <- paste0(prefix, txt)
if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
# text(0.5, 0.5, txt, cex = cex.cor * r)
text(0.5, 0.5, txt, cex = 1)
}
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 = "lightblue", ...)
}