Можете ли вы передать `print ()` в ggplot, не помещая его в `()` - PullRequest
0 голосов
/ 29 октября 2018
library(tidyverse)
(
  e <- ggplot(mpg, aes(cty, hwy)) + 
    geom_point()
) %>% 
  print()

Есть ли "более симпатичный" способ сделать это? «Это» означает печать сохраненного объекта ggplot. Мне часто приходится хранить участки как объект, но я также хочу их видеть. Обертка () действительно делает вещи ужасными. Кажется, противоречит основным принципам Tidyverse. Я знаю, что мог бы просто позвонить e в конце, но мне это тоже не нравится. Примерно так намного круче. Просто посмотрите на разницу.

library(tidyverse)
f <- mtcars %>% 
  select(cyl) %>% 
  as_tibble() %>% 
  print()  # redundant, just proving a point

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Вы можете сделать это с помощью пакета ggfun :

# devtools::install_github("moodymudskipper/ggfun")
library(tidyverse)
library(ggfun)

ggplot(mpg, aes(cty, hwy)) + 
  geom_point() +
  print
0 голосов
/ 29 октября 2018

Если это только вопрос согласованности с использованием канала, вы можете попробовать пакет ggformula, который предоставляет доступ к функциям ggplot2 без синтаксиса ggplot2:

library(ggformula)
g <- gf_point(cty ~ hwy, data=mpg) %>% print()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...