2017-08-02 86 views
1

我想檢查是否有任何的一組「關鍵字」出現在一個字符串中。因此,對於下面的「文本」,結果應該爲TRUE(或1),對於text_2,它應該是FALSE(或0)。R:簡單的關鍵字檢測

keywords <- c("one", "two", "three", "four") #set of keywords 
text <- "Blah blah one blah two" 
text_2 <- "Blah blah" 

我試過str_detect的一些變化,但我被卡住了。

所以,舉例來說,我知道我沒有正確地使用此功能,但:

> keywords <- c("motor", "car", "ford") #list of keywords 
> text <- "I am looking to buy a ford" #string I'd like to check 
> ifelse(str_detect(text, pattern = keywords), 1, 0) 
[1] 0 0 1 

有沒有更好的方法嗎?

回答

1

嘗試......

any(sapply(keywords,grepl,text)) 
[1] TRUE 

any(sapply(keywords,grepl,text_2)) 
[1] FALSE