【发布时间】:2018-09-04 05:01:31
【问题描述】:
嗨,我正在尝试在句子中找到一个简短的文本,然后进行一些操作。在 java 中很容易,但在 R 中我遇到了一些问题。我没有达到 if 条件。 这是我的代码
rm(list=ls())
library(tidytext)
library(dplyr)
shortText= c('grt','gr8','bcz','ur')
tweet=c('stats is gr8','this car is good','your movie is grt','i hate your book of hatred','food is awsome'
)
tweet=data.frame(tweet, stringsAsFactors = FALSE)
for(row in 1:nrow(tweet)) {
tweetWords=strsplit(tweet[row,]," ")
print(tweetWords)
for (word in 1:length(tweetWords)) {
if(tweetWords[word] %in% shortText){
print('we have a match')
}
}
【问题讨论】:
-
您的预期输出是什么?也许有更好的方法来做到这一点。
-
当我找到短文本时。 gr8 或我句子中的其他单词,它应该打印'we have a match'
-
您缺少右括号。您确定您发布了正确的代码吗?
-
类似
ifelse(grepl(paste0(shortText, collapse ="\\b|\\b "), tweet$tweet), "We have a match", "We don't have a match")
标签: r string for-loop if-statement