У меня есть два больших вектора (около 12 МБ каждый) в символьном формате.
Я хотел бы проверить, какие элементы в reallyLongVec
также являются элементами в longVec
. Для этого я использую оператор %in%
.
Выполнение:
any(reallyLongVec %in% longVec)
вернет FALSE
, что неверно, потому что я знаю как минимум один элемент, который встречается в обоих векторах.
Пытаясь исправить это, я придумал это:
any(as.numeric(reallyLongVec) %in% as.numeric(longVec))
Что, кажется, работает. Однако я до сих пор не знаю, почему первый метод дает сбой, а второй подходит (предположительно). ОК.
Добавлена информация о векторах (это пример, у меня их много):
str(reallyLongVec)
integer64 [1:1514487] NA NA 9420166506 9422343574 9442951711 9422188037 9421232760 9420999856 ...
str(longVec)
chr [1:82] "9420030876" "9420234791" "9420734998" "9421904327" "9422065425" "9422065599" "9422065763" "9422065938" "9422448407" "9422602821" "9423570399" "9423571512" ...