Рассмотрим два вектора x
и y
равной длины; каждый из них имеет значения как NA, так и не-NA. Задача состоит в том, чтобы эффективно найти пары значений не-NA между двумя векторами, чтобы выполнить некоторые последующие операции на этих парах полных наблюдений. Полная пара определяется как значение не-NA для индекса i
в x
и y
.
. Я попробовал следующее:
complete.pairs <- !is.na(x) & !is.na(y)
complete.x <- x[complete.pairs]
complete.y <- y[complete.pairs]
Однако Я не уверен, что это самый быстрый способ сделать это. Для некоторого контекста идея состоит в том, чтобы обрабатывать все комбинации строк в матрице таким образом (поэтому x
и y
будут единственной комбинацией). Я ищу что-то наподобие того, что делает cor(x, use = "complete.pairwise.obs")
, поскольку это кажется очень эффективным для поиска полных пар на комбинацию векторов и последующего вычисления корреляции. Здесь я не обязательно хочу вычислять корреляцию после, а скорее другие вещи, такие как статистические тесты, например. Из моих тестов мой подход кажется действительно неэффективным для больших матриц.