Заменить переменные, содержащие определенную подстроку - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь привести в порядок набор данных, который содержит столбец строк. Большинство строк представляют собой перестановки одного и того же слова (например, «banana_test», «banana2» и т. Д.). Я хочу заменить все эти перестановки на оригинальное слово, то есть «банан».

Я пытался сделать это с помощью команды "содержащиеся" из пакета dplyr.

fruit <- c("apple", "pear", "banana", "pear", "apple", "bad banana")
replace(fruit, contains("banana"), "banana")

Вместо того, чтобы заменить «плохой банан» на «банан», я получил следующее сообщение об ошибке: Ошибка: переменные tidyselect не были зарегистрированы

Что я могу сделать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 23 января 2019

Функция contains() из dplyr является вспомогательным помощником, который на самом деле исходит от tidyeselect в настоящее время (см. ?select_helpers). Он предназначен для поиска имен столбцов, а не для сопоставления строк общего назначения. Лучший выбор из тидиверса может быть str_which из stringr

replace(fruit, str_which(fruit, "banana"), "banana")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...