У меня есть кадр данных, содержащий 2 столбца со списками терминов. Я хочу добавить флаг, который сообщает мне, существует ли один или несколько терминов в столбце A также в столбце B, чтобы я мог исключить эти строки из моего набора данных. У меня есть цикл for, который отлично справляется с несколькими тысячами наблюдений, но мне нужно запустить процесс для миллионов строк.
Как лучше всего оптимизировать этот процесс? Спасибо
for(i in 1:nrow(printme)) {
printme$flag[i] <- any(printme$Words[[i]] %in% printme$Words2[[i]])
}
Вам нужно опубликовать небольшой пример в качестве редактирования тела вопроса. Я предлагаю использовать вывод
dput( head(printme))
. (Может быть гораздо более эффективный метод, чем этот процесс for-loop, но для его разработки требуется знание структуры ваших данных. Dataframe обычно не является списком; скорее, это векторы, и использование на них «[[» обычно терпит неудачу.)