У меня есть пакет, в котором есть набор функций, которые генерируют объекты ggplot2. Недавно ggplot2 добавил обновление, которое выдает сообщение:
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
Я знаю, почему ggplot2 так говорит, но мне не нужно слышать это каждый раз, когда я запускаюзаговор (и это смущает моих пользователей, потому что они думают, что сделали что-то не так). Я знаю, что могу подавить сообщения, заключив оператор печати в suppressMessages
, но я не хочу print
сюжет, я хочу return
его. Если я print
это, он будет отображать график, даже если я не хочу отображать его.
Есть идеи? Вот минимальный рабочий пример.
f = function(y,x,data){
p = ggplot(data, aes_string(x,y)) + geom_point() + geom_smooth(se=F)
#suppressMessages(return(p)) ### doesn't work
suppressMessages(print(p)) ### works, but I don't want to PRINT it
}
data(iris)
head(iris)
f("Sepal.Length", "Sepal.Width", iris)