通过要删除的行的多个逻辑条件来子集数据帧
我想通过指定哪些行not(!)保留在新数据帧中来对数据帧进行子集化(过滤)。这是一个简化的示例数据帧:
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%,但似乎并不存在。有任何想法吗?
慕无忌1623718
一只萌萌小番薯