У меня есть следующий кадр данных
amount <- c(10,12,14)
description <- c("bankafschrift", "ABN", "albert heijn")
df <- data.frame(description, amount)
head(df)
description amount
1 bankafschrift 10
2 ABN 12
3 albert heijn 14
Теперь я хочу немного заняться текстовым анализом, назначая сообщения для строк на основе слов в их описании. Итак, описание, содержащее: «bankafschrift», я хочу объявить как «Банк». Я знаю, как получить значение true/false следующим образом:
df$post <- grepl('A
Что дает мне:
description amount post
1 bankafschrift 10 FALSE
2 ABN 12 TRUE
3 albert heijn 14 FALSE
Но я хочу, чтобы в сообщении было написано «продукты» на случай, если утверждение grepl верно. Любые предложения о том, как это сделать?
И сверху это:
Если я хочу больше элементов для определения поста, как мне использовать список?
Если сделать это:
bank_items <- c("Bank", "ABN")
f$post <- grepl(bank_items,df$description)
Это дает мне следующую ошибку:
Warning message:
In grepl(bank_items, df$description) :
argument 'pattern' has length > 1 and only the first element will be used