Я хотел бы подмножить (фильтровать) фрейм данных, указав, какие строки не (!
) сохранить в новом фрейме данных. Вот упрощенная модель данных:
data
v1 v2 v3 v4
a v d c
a v d d
b n p g
b d d h
c k d c
c r p g
d v d x
d v d c
e v d b
e v d c
Например, если строка столбца v1 имеет "b", "d" или "e", я хочу избавиться от этой строки наблюдений, создавая следующий файл данных:
v1 v2 v3 v4
a v d c
a v d d
c k d c
c r p g
Я был успешным в подмножестве, основанном на одном условии за раз. Например, здесь я удаляю строки, где v1 содержит "b":
sub.data <- data[data[ , 1] != "b", ]
Однако у меня много таких условий, поэтому делать это по одному не желательно. Мне не удалось выполнить следующие действия:
sub.data <- data[data[ , 1] != c("b", "d", "e")
или
sub.data <- subset(data, data[ , 1] != c("b", "d", "e"))
Я пробовал и другие вещи, например !%in%
, но это, похоже, не существует.
Любые идеи?