2016-01-20 4 views
0

У меня есть вектор около 800K ID, и я хочу проверить, является ли он частью одного из двух других больших векторов, «активных» и «отмененных», каждый с около 1 миллиона записей. Как я могу это сделать? Очевидно, что цикл через идентификаторы 800K и выполнение% in% проверки для «активных» и «отмененных» векторов займет навсегда ... есть ли более быстрый способ?Проверка того, что каждое значение в большом векторе находится в другом большом векторе

Моя цель состоит в том, чтобы иметь список для каждого из идентификаторов 800K, если они активны или отменены, и получить somethign как следующее:

ID Active Cancelled 
123  1   0 
124  1   0 
... 
+0

Мы можем попробовать '+ (df1 $ Active% in% vec1)' Если это векторы символов, вы можете использовать '% chin%' from ' data.table' – akrun

+0

Вы упомянули, что вы производите цикл для каждого идентификатора отдельно. Непонятно, почему это необходимо. Если вы можете предоставить небольшой воспроизводимый пример с ожидаемым выходом, было бы полезно – akrun

ответ

0

, если вы имеете дело с векторами, вы должны дать intersect функцию а выстрел ... который в основном просто обернут %in%, но тем не менее ...

Смежные вопросы