#r #dplyr #stringr
Вопрос:
У меня есть длинная серия кода с использованием каналов, которые заканчиваются аргументом, подлежащим отправке в paste(). Что-то вроде этого
"string1" %>% paste ("string2", sep = "_")
результат «string1_string2». Однако я хотел бы «string2_string1». Есть ли решение, кроме сохранения переменных и запуска новой команды? Есть ли решение в пакете stringr?
Ответ №1:
Мы можем использовать base R
( R 4.1.0
)
"string1" |>
{(x) paste("string2", x, sep = "_")}()
[1] "string2_string1"
Ответ №2:
Вы можете использовать .
в качестве заполнителя для передаваемого значения.
"string1" %>% paste("string2", ., sep = "_")
#[1] "string2_string1"
То же самое будет работать и с stringr::str_c
—
"string1" %>% stringr::str_c("string2", ., sep = "_")
#[1] "string2_string1"