R/pairex.R

Defines functions pairex

Documented in pairex

#' graphics::pairs example
#'
#' @param dataframe Object of class dataframe. Subset will be applied automatically (numeric only).
#' @param ... pass arguments to panel.hist and panel.cor
#'
#' @export
pairex <- function(dataframe, ...) {
  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", ...)
  }
  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 <- abs(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)
  }
  dataframe <- dataframe[sapply(dataframe, is.numeric)]
  pairs(x = dataframe, diag.panel = panel.hist, lower.panel = panel.cor)
}
sachserf/sf documentation built on June 8, 2024, 4:23 p.m.