Предположим, у меня есть вектор x<-c(1,2,NA,4,5,NA)
.
Я применяю некоторый мифологический код к этому вектору, что приводит к другому вектору, y<-c(1,NA,3, 4,10,NA)
Теперь я хочу выяснить , в каких позициях мои два вектора отличаются, где я считаю два NA
с одинаковыми, а один NA
и не NA
(например, второй элемент двух примеров векторов).
В частности, для моего примера я бы хотел получить вектор, содержащий c(2,3,5)
.
Для моего варианта использования я не доволен вектором логических переменных, но, очевидно, я могу легко преобразовать (which
), поэтому я тоже приму это.
У меня есть несколько решений, таких как:
simplediff<-x!=y
nadiff<-is.na(x)!=is.na(y)
which(simplediff | nadiff)
но мне кажется, что я изобретаю колесо здесь. Есть ли лучшие варианты?