我的问题是我想使用 gsub() 用 x 替换 y,但不是对于所有观察,我只想用 x 中的以下观察替换 y 中的观察:keyword1 和 keyword2。
我的 cols 不包含 NA 或缺失值。
是)我有的
x =c('this', 'is', 'some', 'keyword1', 'or', 'terms', 'keyword2')
y =c('SFP', 'VERB', 'ADP', 'NOUN', 'ADP', 'VERB', 'SFP')
toString(y)
toString(x)
df = cbind(x,y)
df = data.frame(df)
df
x y
1 this SFP
2 is VERB
3 some ADP
4 keyword1 NOUN
5 or ADP
6 terms VERB
7 keyword2 SFP
我需要的:
x y
1 this SFP
2 is VERB
3 some ADP
4 keyword1 keyword1
5 or ADP
6 terms VERB
7 keyword2 keyword2
您不需要,gsub
因为您不想替换匹配的字符本身。以下代码将用y
关键字 wheregrepl
在 column中找到匹配项替换元素x
。
keywords <- c("keyword1", "keyword2")
for (kw in keywords)
df$y[grepl(kw, df$x)] <- kw
如果您知道匹配将是精确的,则更自然地使用:
for (kw in keywords)
df$y[df$x == kw] <- kw.
仅供参考,您可以更轻松地创建数据框:
x = c('this', 'is', 'some', 'keyword1', 'or', 'terms', 'keyword2')
y = c('SFP', 'VERB', 'ADP', 'NOUN', 'ADP', 'VERB', 'SFP')
df = data.frame(x, y, stringsAsFactors = FALSE)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句