Я использую

R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux Mint 18.3

И tidyverse_1.2.1. Использование оператора %+%, предоставляемого пакетом crayons (загруженным tdiyverse), дает NULL. Почему? Это ошибка?

Например. воспроизведение примера из руководства дает:

> "foo" %+% "bar" %>% print
NULL

Вместо "foobar".

r
0
Syd Amerikaner 27 Ноя 2018 в 02:38

1 ответ

Лучший ответ

ggplot2 имеет свою собственную версию %+%, которая может маскировать версию crayon. Если я сначала загружу ggplot2 / tidyverse, перед загрузкой crayon, я получу ожидаемые результаты:

> library(tidyverse)
-- Attaching packages ---------------------- tidyverse 1.2.1 --
v ggplot2 3.1.0     v purrr   0.2.5
v tibble  1.4.2     v dplyr   0.7.8
v tidyr   0.8.2     v stringr 1.3.1
v readr   1.2.1     v forcats 0.3.0
-- Conflicts ------------------------- tidyverse_conflicts() --
x dplyr::filter() masks stats::filter()
x dplyr::lag()    masks stats::lag()
> library(crayon)

Attaching package: ‘crayon’

The following object is masked from ‘package:ggplot2’:

    %+%

> "foo" %+% "bar" %>% print
[1] "foobar"
1
Marius 26 Ноя 2018 в 23:43