### Functions to accompany R-Companion visual_test_for_association <- function(formula, data, mfrow=c(5,4), ...) { savePar <- par(mfrow=mfrow, mar=rep(0.5,4), cex.axis=0.1) # squeeze tight on.exit(par(savePar)) vars <- eval(attributes(terms(formula))$variables,envir=data) y <- vars[[1]] # numeric vectors x <- vars[[2]] n <- nrow(data) r <- sample(1:mfrow[1],1) # where to put original c <- sample(1:mfrow[2],1) for(row in 1:mfrow[1]) for(col in 1:mfrow[2]) { if(row==r & col==c) plot(x, y , par=...) else plot(x, sample(y,n), par=...) } par(savePar) return(c(r,c)) } ### copied from R documentation for pairs 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.3/strwidth(txt) text(0.5, 0.5, txt, cex=cex.cor, col='darkgray') # cex = cex.cor * r) }