Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to suppress "S3 method overwritten" messages from being printed to user console

I have an R package called ggstatsplot (https://indrajeetpatil.github.io/ggstatsplot/) which relies on a collection of packages that share a few S3 methods between each other. Therefore, every time the package is loaded, the user is bombarded with messages about this issue, which is not useful for the most users.

> library(ggstatsplot)
Registered S3 method overwritten by 'broom.mixed':
  method      from 
  tidy.gamlss broom
Registered S3 methods overwritten by 'car':
  method                          from
  influence.merMod                lme4
  cooks.distance.influence.merMod lme4
  dfbeta.influence.merMod         lme4
  dfbetas.influence.merMod        lme4

Is there something I can implement in the package internally to avoid these messages getting printed to the user's console? Maybe something using .onAttach?

like image 857
Indrajeet Patil Avatar asked May 12 '20 10:05

Indrajeet Patil


1 Answers

Therefore, every time the package is loaded, the user is bombarded with messages about this issue, which is not useful for the most users.

As a "peace of mind" workaround, users can simply set the environment variable _R_S3_METHOD_REGISTRATION_NOTE_OVERWRITES_ to one of 0, no or false before loading any of the affected packages:

Sys.setenv(`_R_S3_METHOD_REGISTRATION_NOTE_OVERWRITES_` = "false")

Background: There was some instructive conversation about overwriting S3 methods becoming verbose with R 3.6 over at rlang's GitHub repo for anyone interested in more details.

like image 77
Salim B Avatar answered Sep 21 '22 11:09

Salim B