У меня аккуратный фрейм данных, созданный из текстового корпуса.Я хочу создать новую двоичную переменную, основанную на наличии строки из вектора строк в текстах аккуратного корпуса.Мой цикл for работает, но он слишком медленный с 600 тыс. Наблюдений, хотя большинство наблюдений - это всего 5 или около того слов.
Структура аккуратного df: 8 переменных, 8-й текст для поиска, на 600 тыс.Согласно наблюдениям, 9-я переменная должна составлять 1/0 в зависимости от наличия фармации с потенциалом злоупотребления.
abusepharma <- c('xanax', 'diazepam', 'alprazolam', 'adderall', 'oxycodone', 'viagra', 'oxycontin', 'valium', 'fentanyl', 'cialis', 'tramadol', 'amphetamine', 'hydromorphone', 'hydromorphon')
name.clean_tidy$AbusePharma <- NA
for(i in 1:nrow(name.clean_tidy)){
if(grepl(paste(abusepharma,collapse="|"), name.clean_tidy[i,8])){
name.clean_tidy[i,9] <- 1
}else{
name.clean_tidy[i,9] <- 0
}
}