【发布时间】:2018-05-21 22:17:23
【问题描述】:
我使用 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
【问题讨论】:
-
grep返回一个数字索引。可能您需要greplBTW,您可能不需要for循环,即as.integer(grepl('@casekeenum', Tweet.Text))如果我们只需要更改TRUE 的值,则返回二进制值,然后Tweet.Text[grepl('@casekeenum', Tweet.Text)] <- 1