我有一个条件列表,例如:
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
表添加适当的行来创建更复杂的联接。
如果你想要更微妙的条件,你将需要进行非标准评估。这会让你的眼睛从你的头上掉下来。祝你好运!
关于r - 如何将数据帧形式的条件传递到 dplyr::filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50355442/