Подтвердить что ты не робот

R Не в подмножестве

Возможный дубликат:
Стандартный способ удаления нескольких элементов из фреймворка данных

Я знаю в R, что если вы ищете подмножество другой группы или сопоставляете на основе id, вы будете использовать что-то вроде

subset(df1, df1$id %in% idNums1)

Мой вопрос в том, как сделать обратное или выбрать элементы, не соответствующие вектору идентификаторов.

Я попытался использовать !, но получаю сообщение об ошибке

subset(df1, df1$id !%in% idNums1)

Я думаю, что моя резервная копия должна сделать примерно так:

matches <- subset(df1, df1$id %in% idNums1)
nonMatches <- df1[(-matches[,1]),]

но я надеюсь, что там что-то более эффективно.

4b9b3361

Ответ 1

Выражение df1$id %in% idNums1 создает логический вектор. Чтобы отменить это, вам нужно свести на нет весь вектор:

!(df1$id %in% idNums1)