尝试通过上一个查询的给定输出过滤df行-
sql = 'select max(id) from drivers'
返回10000
我有一组来自csv的引荐ID,我想过滤所有引荐ID大于上述查询的max(id)
的引荐。
在我的代码中,我有:
shopper_referrals_2 <- shopper_referrals_1 %>%
filter(shopper_referrals_2$shopper_referral_id < max_driver_id)
并继续获得Error in shopper_referrals_2$shopper_referral_id < max_driver_id : comparison of these types is not implemented
当我同时检查typeof()
和max_driver_id
的{{1}}时,我得到shopper_referral_id
。我对于如何过滤ID大于max id变量的行感到有些困惑。
答案 0 :(得分:0)
如果没有最小的可复制示例,很难确切地说出,但是看起来您在某个地方引用了错误的数据框。考虑:
shopper_referrals_2 <- shopper_referrals_1 %>%
filter(shopper_referrals_2$shopper_referral_id < max_driver_id)
如果您尝试过滤shopper_referrals_1
语句中的shopper_referrals_2
以创建shopper_referrals_2
的目的,filter
的目的是什么?乍一看,该代码应更正为:
shopper_referrals_2 <- shopper_referrals_1 %>%
filter(shopper_referral_id < max_driver_id)
其中shopper_referrals_1
是您要过滤的df-shopper_referral_id
是您要在shopper_referrals_1
中过滤的列,而shopper_referrals_2
是您要创建的新df过滤器的结果。