Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Suppress ggpairs messages when generating plot

Tags:

r

ggally

ggpairs prints out a progress bar and estimated remaining time while generating plots, which is nice when used interactively since some of the computations can take a few seconds. But when making documents, like R notebooks, these printed messages end up in the report. ggpairs had a boolean verbose option, but it's depricated now. Is there an alternative? I can't seem to find one.

To see the messages try:

library(GGally) ggpairs(mtcars, columns = c("mpg", "cyl", "hp", "disp", "am", "qsec"))

In a document it ends up including:

plot: [1,1] [==-------------------------------------------] 4% est: 0s

plot: [1,2] [====-----------------------------------------] 8% est: 6s

plot: [1,3] [=====----------------------------------------] 12% est: 5s

plot: [1,4] [=======--------------------------------------] 16% est: 5s

etc

like image 308
adatum Avatar asked Jan 10 '17 20:01

adatum


3 Answers

The progress = FALSE argument will work when printing the ggpairs plot.

ggp = ggpairs(mtcars, columns = c("mpg", "cyl", "hp", "disp"))
print(ggp, progress = F)  # no progress bar
print(ggp)  # progress bar

It may also depend how you knit. The function that call the progress bar is ggmatrix_gtable, with the default value as

 progress = interactive() && (pm$ncol * pm$nrow) > 15

Thus no progress bar is printed by default in a non-interactive session.

like image 88
Gregor Thomas Avatar answered Nov 07 '22 07:11

Gregor Thomas


If you are familiar with dplyr syntax, maybe the following piping is the most elegant one which do not require saving intermediate variable

mtcars %>% 
  ggpairs(columns = c("mpg", "cyl", "hp", "disp", "am", "qsec")) %>%
  print(progress = F)
like image 33
Zhirui Wang Avatar answered Nov 07 '22 07:11

Zhirui Wang


'progress' parameter in print function will soon be deprecated.

It can be passed to ggpairs itself:

library(GGally)
ggpairs(mtcars, 
        columns = c("mpg", "cyl", "hp", "disp", "am", "qsec"),
        progress = FALSE)

RStudio screenshot for ggpairs without progress:

ggpairs output without progress

like image 3
Nikolay Avatar answered Nov 07 '22 08:11

Nikolay