我有一个很大的数据框,其中行是具有一个或多个仿制药成分的药物。DF有21个逻辑变量,表明药物包含我要筛选的21种仿制药中的一种。我是否可以使用filter_if来识别这21个变量中任何一个为真的所有行?假设我可以,我想我在filter_if的语法方面遇到了问题。
这是我到目前为止的尝试和我得到的错误代码。在下面的代码中,我测试的变量在“布洛芬”列中:“BAICALIN/CATECHIN”这些都是逻辑上的真/假变量。
> 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种药物相关的行,我有逻辑变量要标记。
发布于 2019-07-12 00:15:35
如果没有您的数据样本(请提供一些!),很难说,但我认为filter_all可以工作。如果我没理解错的话,像这样的东西应该会给你你想要的:
Drug_Table_NamesNumberSML %>%
select("IBUPROFEN":"BAICALIN/CATECHIN") %>%
filter_all(any_vars(. == TRUE))你可以找到更多关于如何使用不同的filter函数here的例子。
https://stackoverflow.com/questions/56976352
复制相似问题