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

如何筛选DataFrame以保留包含'inhibitor'的所有元素?

解决DataFrame筛选含'inhibitor'行的问题

你的代码存在两个问题:一是在dplyr管道后的filter里,没必要硬写TC1S1[,1](管道已经把数据传递到当前步骤);二是grepl默认区分大小写,而你的目标文本是大写的INHIBITORS,会导致匹配失败。

正确代码示例

library(dplyr)
# 读取数据
TC1S1 <- read.csv('https://raw.githubusercontent.com/bandcar/Examples/main/TC1S1.csv')
# 筛选包含'inhibitor'的行(不区分大小写)
x <- TC1S1 %>% filter(grepl('inhibitor', TC1S1, ignore.case = TRUE))

核心修正说明

  1. 管道用法优化:%>%已经将TC1S1传递给filter函数,直接引用列名(这里第一列的列名就是TC1S1)即可,无需重复指定数据源。
  2. 大小写不敏感匹配:添加ignore.case = TRUE参数,让grepl能匹配到大写的INHIBITORS,确保所有相关行都被筛选出来。
  3. 完整保留原数据:执行后得到的x会完整保留原DataFrame中符合条件的所有行内容,包括你举例的"342 RENIN INHIBITORS"这类条目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 05:06:26