User Tools

Site Tools


en:customized_functions:pairs2

pairs (with panel functions)

Author: Francois Gillet

Draws advanced pairplot (see example below). Based on the base function pairs, with original code written by R-code members and panel functions added by Francois Gillet.

Note that the package car contains the function scatterplotMatrix, which is doing something similar (and perhaps could be also further customized). Also, consider using function ggpairs from the package GGally (much fancier ggplot2 version of pairs function).

To define the function, source the panelutils.r file from Numerical Ecology with R book:

source ('https://raw.githubusercontent.com/zdealveindy/anadat-r/master/scripts/NumEcolR2/panelutils.R')

Example of use (using environmental data from the dataset Vegetation of Carpathian wetlands, after removing the 15th variable which is slope and not water chemistry):

source ('https://raw.githubusercontent.com/zdealveindy/anadat-r/master/scripts/NumEcolR2/panelutils.R')
chem <- read.delim ('https://raw.githubusercontent.com/zdealveindy/anadat-r/master/data/chemistry.txt', row.names = 1) # reads the ''chem'' dataset
pairs(chem[,-15], lower.panel=panel.smooth, upper.panel=panel.cor, diag.panel=panel.hist)

Panels in the upper triangle = correlation coefficients with results of significance testing (displayed by the number of stars), red for positive and blue for negative relationships, values in bold are significant at least at P < 0.05). Panels on diagonal = histograms of distribution. Panels on lower triangle = scatterplot with loess smoother curve.

Most of the variables need to be log-transformed (they have heavily right-skewed distribution); after the log-transformation, the result looks like this:

chem_t <- chem
chem_t[, 1:12] <- log (chem[, 1:12])
pairs(chem_t[,-15], lower.panel=panel.smooth, upper.panel=panel.cor, diag.panel=panel.hist)

en/customized_functions/pairs2.txt · Last modified: 2022/05/01 09:52 by David Zelený

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki