Быстрый поиск строк в Tidy Corpus R - PullRequest
0 голосов
/ 06 июня 2018

У меня аккуратный фрейм данных, созданный из текстового корпуса.Я хочу создать новую двоичную переменную, основанную на наличии строки из вектора строк в текстах аккуратного корпуса.Мой цикл 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
  }

}

...