#r #lubridate #magrittr #r-glue
#r #смазывать #магриттр #r-клей #magrittr
Вопрос:
Я хотел бы создать символьное значение с названием месяца в нем. Я могу извлечь название месяца с помощью today() >%> months()
, но как только я передаю результат в glue()
и начинаю использовать заполнитель ( .
), значение за заполнителем дублируется. Кто-нибудь знает, что здесь происходит?
library(lubridate)
library(glue)
library(magrittr)
# returns month name as character
today() %>%
months()
#> [1] "April"
# when piping into glue(), I get an unexpected output
today() %>%
months() %>%
glue("my_test_{.}")
#> Aprilmy_test_April
Создано 2019-04-04 пакетом reprex (версия 0.2.1)
Комментарии:
1. Есть ли причина, по которой вы не можете использовать
paste
? Например,paste0("my_test_", .)
.2. да, я мог бы использовать
paste()
, но мой реальный код более сложный, и я хотел бы использовать склеивания, улучшающие читаемость3. Исходя из вашего текущего вопроса,
paste
было бы предпочтительным решением.glue
требуются именованные аргументы, поэтому при передаче безымянной строки возникают проблемы. Если вы считаете, чтоpaste
в вашей ситуации это не сработает, можете ли вы изменить вопрос так, чтобы он больше напоминал ваш реальный код?