【发布时间】:2019-11-22 14:58:35
【问题描述】:
我需要用"apple"和"banana"等正则表达式替换下面格式"IDENTIFIER:ABC:DEF", "IDENTIFIER:GHI:JKL"等的38种不同类型的表达式。我尝试使用以下格式的 str_replace_all:
df$column <- df$column %>% str_replace_all("IDENTIFIER:ABC:DEF", "apple")
df$column <- df$column %>% str_replace_all("IDENTIFIER:GHI:JKL", "banana")
但是,出于某种原因,R 只处理了我大约一半的请求。我检查并仔细检查了错误并尝试分解代码但没有成功。
然后我用 gsub 尝试了同样的方法:
df$column <- gsub(df$column, "IDENTIFIER:ABC:DEF", "apple")
df$column <- gsub(df$column, "IDENTIFIER:GHI:JKL", "banana")
我收到此错误:“在 gsub(df$column ...) 中:参数 'pattern' 的长度 > 1,并且只会使用第一个元素”。
我真的不知道下一步该做什么。有什么建议吗?
【问题讨论】:
-
gsub需要提供模式、replacement_values 和 x。所以,在你的情况下,你应该写gsub("IDENTIFIER:ABC:DEF", "apple",df$column)或gsub(pattern = "IDENTIFIER:ABC:DEF", replacement = "apple", x = df$column) -
比较两个函数的文档:它们的参数顺序不同
-
谢谢@dc37 - 那是错误
标签: r