替换包含特定子字符串的变量

时间:2019-01-23 20:30:15

标签: r dplyr

我正在尝试整理包含一列字符串的数据集。大多数字符串是同一单词的排列(例如“ banana_test”,“ banana2”等)。我想将所有这些排列替换为原始词,即“香蕉”。

我尝试使用dplyr软件包中的“ contains”命令执行此操作。

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

我没有用“香蕉”代替“坏香蕉”,而是得到了以下错误消息:     错误:未注册tidyselect变量

我该怎么解决这个问题?

1 个答案:

答案 0 :(得分:0)

contains()中的dplyr函数是一个选择助手,它实际上来自于当今的tidyeselect(请参阅?select_helpers)。它用于查找列名,而不是通用字符串匹配。 tidyverse中的一个更好的选择可能是str_which中的stringr

replace(fruit, str_which(fruit, "banana"), "banana")