Can I tell ggpairs to use log scales?

Viewed 3001

Can I provide a parameter to the ggpairs function in the GGally package to use log scales for some, not all, variables?

3 Answers

It's probably better use a linear scale and log transform variables as appropriate before supplying them to ggpairs because this avoids ambiguity in how the correlation coefficients have been computed (before or after log-transform). This can be easily achieved e.g. like this:

library(tidyverse)

log10_vars <- vars(ends_with(".Length"))             # define variables to be transformed

iris %>%                                             # use standard R example dataframe
  mutate_at(log10_vars, log10) %>%                   # log10 transform selected columns
  rename_at(log10_vars, sprintf, fmt="log10 %s") %>% # rename variables accordingly
  GGally::ggpairs(aes(color=Species))

example ggpairs plot with log transformed variables

Related