我正在尝试做一些相当简单的事情(我认为),但我无法理解它。我正在尝试编写一个循环来检查数据框中的字符变量是否包含任何特定的子字符串列表,并将相应的值分配给虚拟变量。
因此,想象一个带有变量的 data.frame,n=2000 data.frame$text
。此外,我有一个字符向量,其中包含我想要为其发送文本的所有子字符串data.frame$text
。让我们称之为hillary_exists
:
hillary_exists <- c("Hilary Clinton", "hilary clinton","hilaryclinton", "hillaryclinton", "HilaryClinton",
"HillaryClinton","Hillary Clinton", "Hillary Rodham Clinton", "Hillary", "Hilary", "#Hillary2016", "#ImWithHer",
"Hillary2016", "hillary", "hilary", "Clinton 2016", "Clinton", "Secretary of State Clinton",
"Senator Clinton", "Hilary Rodham", "Hilary Rodham Clinton", "Hilary Rodham-Clinton", "Hillary Rodham-Clinton")
现在,我希望我的循环测试 的每一行data.frame$text
是否存在 的每个元素hillary_exists
,如果它们中的任何一个是,则为变量TRUE
生成一个新的值1
data.frame$hillary_mention
。这是我尝试过的:
for(i in hillary_exists){
if(grepl(hillary_exists[i], data.frame$text)){
data.frame$hillary_mention <- 1
} else {
data.frame$hillary_mention <- 0 }
}
但显然我错过了元素的i
组件data.frame$text
,但我不知道如何解决它。
任何帮助将不胜感激!谢谢