Pattern(g)sub=列(R)中的字符串

Pattern(g)sub=列(R)中的字符串,r,string,dataframe,gsub,R,String,Dataframe,Gsub,我现在搜索了很长时间,但我不知道如何替换字符串的实体,其中模式是列中的字符串,并且每行都不同。所以我有这些数据: var1 var2 var3 "Sentence 1 is exiting, isnt it?" "exiting" "Sentence 2 is boring, isnt it?" "boring" 我最终想要的是: var1

我现在搜索了很长时间,但我不知道如何替换字符串的实体,其中模式是列中的字符串,并且每行都不同。所以我有这些数据:

         var1                         var2                var3
"Sentence 1 is exiting, isnt it?"  "exiting"         
"Sentence 2 is boring, isnt it?"   "boring"
我最终想要的是:

         var1                        var2                   var3
"Sentence 1 is exiting, isnt it?"  "exiting"         "Sentence 1 is, isnt it?"
"Sentence 2 is boring, isnt it?"   "boring"          "Sentence 2 is, isnt it?"
因此,每一行都有另一种模式需要替换。如果我执行var3=gsub(var2,“,var1),我会得到一个错误,因为var2不是一个表达式


谁能帮我

使用
mapply

df <- data.frame(var1= c("Sentence 1 is exiting, isnt it?","Sentence 2 is boring, isnt it?"), var2=c("exiting","boring"))


df$var3 <- mapply(gsub, pattern=df$var2, x=df$var1, replacement="")

df使用
mapply

df <- data.frame(var1= c("Sentence 1 is exiting, isnt it?","Sentence 2 is boring, isnt it?"), var2=c("exiting","boring"))


df$var3 <- mapply(gsub, pattern=df$var2, x=df$var1, replacement="")

df我想这一定行得通,但我得到了一个错误:“(函数(模式,替换,x,ignore.case=FALSE,perl=FALSE,:无效正则表达式“…”,原因“缺失”)“”。所以字符串内部缺少一个“)”。字符串中确实有一个“(”,但没有“)”,但为什么这会是个问题?(文本中包含大量空格和特殊字符)。我将尝试删除这些…如果您的数据有更多细节,您应该让我们知道。通过您提供的示例,我的答案是有效的。我认为这一定有效,但我得到一个错误:“函数中的错误。”(pattern,replacement,x,ignore.case=FALSE,perl=FALSE,:无效的正则表达式“…”,reason'Missing')“”。因此,字符串内部缺少一个“)”。字符串中确实有一个“(”,但没有“)”,但为什么会出现问题?(文本包含大量空格和特殊字符).我将尝试删除这些…如果您的数据有更多细节,您应该让我们知道。通过您提供的示例,我的答案是有效的。