我正在尝试根据我喜欢在Col1中找到的确切单词集替换Col2上的值。
Col1 Col2
What Machine 10
What Machines 20
What Machine Learning 30
当我尝试使用带有fixed = True的以下grep代码时,只能获得具有" What Machine"的Col2值。 作为Col1,
d[grep("What Machine", d$Col1, fixed = T),]$Col2
它返回所有3个Col2值(10 20 30)。 但我真的希望得到10作为答案,并用我喜欢的价值取代。
非常感谢任何帮助。
答案 0 :(得分:1)
由于您希望完全匹配单个字符串,==
可以解决问题。
with(d, Col2[Col1 == "What Machine"])
# [1] 10
如果您仍想使用grep()
,我建议您切换到grepl()
(当没有匹配时更安全)并使用锚点"^What Machine$"
,从中删除fixed = TRUE
电话。
with(d, Col2[grepl("^What Machine$", Col1)])
# [1] 10