You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在dplyr中使用not in语法直接排除指定行名的行?

使用dplyr的filter直接排除指定行名的行

当然可以,你不需要罗列所有要保留的行名,只需要用!对%in%的判断结果取反,就能实现类似“not in”的效果,直接指定要排除的行名。

针对你的需求,修改后的代码如下:

set.seed(100)
df <- data.frame(x = sample.int(100,10, replace = F), y  = sample.int(100,10, replace = F)) %>% `rownames<-`(LETTERS[1:10])

# 直接排除行名为F和J的行
df %>% filter(!row.names(.) %in% c("F", "J"))

语法说明

  • row.names(.)获取当前数据框的行名
  • %in% c("F", "J")判断行名是否属于要排除的集合
  • 前面的!表示取反,也就是保留不在这个集合里的行

内容的提问来源于stack exchange,提问作者Abbas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 10:41:17