我使用R来查找字符串中的单词,我可以将它们分为2列。我使用grep查找关键字所在的所有行,但是如果关键字存在于字符串中,则无法编写循环以更新值为1的另一列。 Tweet.Text是包含字符串的列名,@ casekeenum7是我要查找的关键字,而Keenum是我想要为包含关键字的每一行更新值为1的列。
代码:
for (i in 1:length(Tweet.Text)){
if(grep('@casekeenum',Tweet.Text[i])){
Keenum[i]==1
}
}
错误:
Error in if (grep("@casekeenum7", Tweet.Text[i])) { :
argument is of length zero
答案 0 :(得分:1)
您不需要for循环:
df = data.frame(Tweet.Text=c("Hello","@casekeenum"),
Keenum=c(0,0))
df$Keenum[grepl("@casekeenum",df$Tweet.Text)]=1
返回:
Tweet.Text Keenum
1 Hello 0
2 @casekeenum 1