r - 如何将 gsub 用于 R 中的多个模式列表

标签 r

关闭。这个问题需要details or clarity .它目前不接受答案。












想改善这个问题吗?通过 editing this post 添加详细信息并澄清问题.

5年前关闭。




Improve this question




这有点难以解释,所以请耐心等待。

我想使用要“查找”的字符串列表和要替换的空字符串 ("") 来执行“查找/替换”。我有一个大型数据表列,我想在其上进行查找/替换。

使用基础 R,我无法弄清楚如何在 gsub 中使用模式列表。

我已经做了一个循环,但是如果有人能帮助我弄清楚如何使用其中一个应用函数(或仅基于 R 的其他东西),那将会更有效率,我将不胜感激。

这有效,但需要很长时间:

for(i in 1:GarbMax){
      Table.All$Cleaned<-gsub(garbage[i], "", Table.All$Cleaned, ignore.case = TRUE, fixed = TRUE)
}

我想找到的值列表在“垃圾”中,我正在寻找它们的字段是“Table.All$Cleaned”。 “GarbMax”只是“垃圾”列表的最大值。

顺便说一句(也许),上面的代码给了我一个警告,ignore.case=TRUE 被忽略了。知道为什么吗?

非常感谢你的帮助!

最佳答案

如果我理解正确,以下解决方案将是一种解决方法:

string <- c("onetwo", "two", "three", "fourfive", "five", "six", "sixseven")
find.list <- list("two", "five", "seven")
# in REGEX, | also represents "OR"
find.string <- paste(unlist(find.list), collapse = "|")

gsub(find.string, replacement = "", x = string)
[1] "one"   ""      "three" "four"  ""      "six"   "six" 

关于r - 如何将 gsub 用于 R 中的多个模式列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35366803/

相关文章:

r - 在 R 中绘制多元多项式

r - 在 ggplot2 中对转换后的数据标记重新缩放的值

r - 大数据从arules包转换为 "transactions"

r - 更改 ggplot 中的配色方案并能够编辑图例

r - 如何更改 geom_bar 中条形之间的间距?

mysql - 基于列合并两个表(部分匹配或逗号分隔列)?

r - data.table 按组获取 N 个最频繁的值

r - 删除列表中的 "empty"条目

r - 将参数传递给 data.table 聚合函数

r - 混淆矩阵。行和列的百分比