0
我期待的,其顺序是由两列而不是一个确定的行数过滤dplyr ROW_NUMBER:与多个订单列
pg <- src_postgres()
dat <- tbl(pg, 'table')
rows <- dat %>%
group_by(dimension) %>%
filter(row_number(date1, date2) == 1)
这会产生错误:
Error in row_number(date1, date2) : unused argument (date2)
我可以通过修改问题来完成上述操作,如下所示,但这看起来像是矫枉过正,特别是如果我需要以3列以上的顺序排列。 row_number是否有一些我缺少的功能可以减少冗余?
rows <- dat %>%
group_by(dimension, date1) %>%
filter(row_number(date2) == 1) %>%
group_by(dimension) %>%
filter(row_number(date1) == 1)
因为我在做数据库的工作片功能出了问题。 我将不得不使用row_number函数与ORDER BY子句中的date1和date2。 – mtread
请参阅编辑以使用过滤器代替 – bramtayl
这仍然不起作用。 请记住,我没有收集这些数据。我打算使用dplyr来操作数据in-db。当我收集()时,你的解决方案有点工作,但我需要一种方法让dplyr正确地为PostgreSQL构造OVER子句。 – mtread