首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用filter_if选择数据框中多个逻辑变量中的任意一个为真的行

如何使用filter_if选择数据框中多个逻辑变量中的任意一个为真的行
EN

Stack Overflow用户
提问于 2019-07-11 02:06:45
回答 1查看 1.3K关注 0票数 1

我有一个很大的数据框,其中行是具有一个或多个仿制药成分的药物。DF有21个逻辑变量,表明药物包含我要筛选的21种仿制药中的一种。我是否可以使用filter_if来识别这21个变量中任何一个为真的所有行?假设我可以,我想我在filter_if的语法方面遇到了问题。

这是我到目前为止的尝试和我得到的错误代码。在下面的代码中,我测试的变量在“布洛芬”列中:“BAICALIN/CATECHIN”这些都是逻辑上的真/假变量。

代码语言:javascript
复制
> Drug_Table_NamesNumberSML %>%
+   select("IBUPROFEN":"BAICALIN/CATECHIN") %>%
+   filter_if(isTRUE("IBUPROFEN":"BAICALIN/CATECHIN"))

“布洛芬”错误:“黄芩苷/儿茶素”:NA/NaN参数另外:警告消息: 1:在isTRUE(“布洛芬”:“黄芩苷/儿茶素”):NAs由胁迫引入2:在isTRUE(“布洛芬”:“黄芩苷/儿茶素”):NAs由胁迫引入

我不明白NA/NaN参数错误和强制警告引入的NAs是从哪里来的。

我也不确定一旦解决了这些错误/警告,这是否会达到我想要的效果。

我想要结束的是一个数据框架,它只包含与21种药物相关的行,我有逻辑变量要标记。

EN

回答 1

Stack Overflow用户

发布于 2019-07-12 00:15:35

如果没有您的数据样本(请提供一些!),很难说,但我认为filter_all可以工作。如果我没理解错的话,像这样的东西应该会给你你想要的:

代码语言:javascript
复制
Drug_Table_NamesNumberSML %>%
    select("IBUPROFEN":"BAICALIN/CATECHIN") %>%
    filter_all(any_vars(. == TRUE))

你可以找到更多关于如何使用不同的filter函数here的例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56976352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档