Используя который и! функции в R - PullRequest
0 голосов
/ 19 февраля 2020
x <- c("a", "b", "c", "d", "e", "f", "g")
y <- c("a", "c", "d", "z")

Я пытаюсь сравнить y с x и найти индекс, где в y не совпадает ни с чем в x. в этом случае z совпадает, и я хочу, чтобы R вернул индекс z.

Это одна из тех вещей, которые я пробовал, и она не работает.

index <- which(y != x)

Ответы [ 2 ]

3 голосов
/ 19 февраля 2020

используйте оператор %in%

 which(!y%in%x)
1 голос
/ 19 февраля 2020

Вы также можете использовать match, который вернет NA, если совпадений нет.

which(is.na(match(y, x)))
#[1] 4

Или другой вариант с setdiff

which(y %in% setdiff(y, x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...