我想通过指定在新数据帧中保留哪些行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",我想go 掉该行的观察值,生成以下数据帧:

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"))

我也try 过其他一些东西,比如!%in%个,但这似乎并不存在.

推荐答案

!应该在声明的外面:

data[!(data$v1 %in% c("b", "d", "e")), ]

  v1 v2 v3 v4
1  a  v  d  c
2  a  v  d  d
5  c  k  d  c
6  c  r  p  g

R相关问答推荐

R根据名称的载体对收件箱列采取行动

在之前合并的数据.tables中分配新列后.internal.selfref无效

将coord_sf与geom_spatraster一起使用会更改分辨率

如何按行和列组合多个格式?

如何替换某个字符的所有出现,但如果该字符是字符串中的第一个,则不替换?

基于2行删除重复项指定每列要执行的操作

如何使用ggplot重新绘制LASO回归图?

将Multilinetring合并到一个线串中,使用sf生成规则间隔的点

更改Heatmap Annotation对象的名称

R Markdown中的交叉引用表

从gtsummary包中使用tBL_strata()和tBL_summary()时删除变量标签

如何计算前一行的值,直到达到标准?

如何在modelsummary中重命名统计数据?

如何使下一个按钮只出现在Rshiny 的一段时间后?""

我正在努力用R计算数据集中的中值逐步距离

如何在PackageStatus()中列出&q;不可用的包&q;?

基于R中的间隔扩展数据集行

条形图顶部与其错误条形图不对齐

如何使用For-R循环在向量中找到一系列数字

当每个变量值只能 Select 一次时,如何从数据框中 Select 两个变量的组合?