Может быть, я неправильно понял, поэтому я предлагаю вам, когда решение основано на вашей переменной pattern_word_check
и другой, использующей только лук и добавьте в регулярное выражение.
В любом случае, я думаю, что вы ищете grepl
. У вас есть много способов решить вашу проблему.
data.table
data.table
Решение, использующее условную замену, будет:
library(data.table)
setDT(df)
df[,'new' := "Not Found"]
df[grepl(pattern_word_check, text), new := "Found"]
Если вы хотите только считать слова с "луком" ИЛИ "добавить"
df[,'new' := "Not Found"]
df[grepl("(onion|add)", text), new := "Found"]
dplyr
A dplyr
решение будет:
library(dplyr)
df %>% mutate(new = if_else(grepl(pattern_word_check, text), "Found", "Not Found"))
Обратите внимание, что если использовать if_else
из dplyr
пакета, а не базы ifelse
.
Если вы хотите рассматривать слова только с луком " " ИЛИ " добавить "
library(dplyr)
df %>% mutate(new = if_else(grepl("(onion|add)", text), "Found", "Not Found"))