Мне нужно присвоить значения новому столбцу на основе «ключевого слова». Я сделал несколько простых проб, как показано ниже. Правило: мне нужно пометить все ключевые слова, содержащие «рекламу» или «маркетинг», как «маркетинг».Присвоить значения столбцу, условно основанному на текстовой категории, в R
keyword <- c("advertising plan",
"advertising budget",
"marketing plan",
"marketing budget",
"hr plan",
"hr budget",
"operation plan",
"operation budget")
indicator <- c(1,0,0,1,1,1,0,1)
sample <- cbind(keyword,indicator)
Я использовал этот метод для выполнения тегов.
sample$topic <- ifelse(grepl("(marketing|advertising)",sample$keyword),"Marketing",0)
Но теперь, у меня есть более длинные правила, которые хранятся в виде другой строки фактор, как показано ниже:
rule <- c("marketing", "advertising", "word 3", "word 4" .... "word 500")
трудно ввести с правилами по одному в предыдущем коде. Интересно, есть ли способ запустить все правила вместе в R, или я должен написать цикл, чтобы сделать это.
Используйте 'paste' разрушаться вектор т.е.' as.integer (grepl (паста (правило, коллапс = "|"), пример $ keyword)) ' – akrun