r - 如何将数据框形式的条件传递给 dplyr::filter
问题描述
我有一个条件列表,例如:
cond = data.frame(cyl=4, vs=0, am=1)
我想通过条件来过滤我的数据。
mtcars %in% filter (???)
有没有办法做到这一点?我希望解决方案是可编程的,以便我可以将数据框(或列表)形式的条件列表传递给任何数据集。非常感谢!
解决方案
如果您的条件始终“等于”(即您想要cyl == 4
等vs==0
)并且始终“与”在一起,那么您可以只inner_join
在数据上使用。
mtcars_filtered <- inner_join(mtcars, cond)
这还有一个优点,即您可以通过向cond
表中添加适当的行来创建更复杂的连接。
如果您想要更微妙的条件,则需要进行非标准评估。这会让你的眼睛从你的头上掉下来。祝你好运!
推荐阅读
- c# - 性能提升,谓词系统 linq 查询
- r - 连接 R 和 Excel
- javascript - 如何使用 Context API 将单个 Socket IO 实例传递给页面?
- java - 表情符号的正则表达式模式无法区分减号和范围
- python - SyntaxError:无法分配给 Python 中的函数调用
- python - 尝试使用有效负载发布请求获取数据
- xamarin - Xamarin UWP:选择器在选择 string.empty 时显示类名
- spring-boot - 引起:java.security.cert.CertificateException:没有主题替代 DNS 名称匹配
- python - Django中的ImportError循环依赖
- java - 在 IBM MQ (Java) 中,如何最好使用 PCF 访问给定队列管理器下的所有队列?