找出dplyr查询中有多少行的最快方法是什么?

时间:2015-11-03 20:02:38

标签: sql r dplyr

我通常在R中使用dplyr来查询我的数据库。通常,当我编写代码时,我会测试我是否获得了合理数量的行。现在,我这样做:

myquery <- dbtable %>%
    filter( foo == 'bar' ) %>%
    select( id, name, address, city, st)

# test to get number of rows (usually done interactively)
myquery %>%
    select(id) %>%
    collect %>%
    nrow

这似乎是一种低效的运行方式 - 我将所有这些ID拉下来只是让R计算它们。我确信数据库可以为我做到这一点,但我不确定如何在不放入纯SQL的情况下执行此操作,我宁愿避免使用它。有更多的dplyr-ish方法吗?

2 个答案:

答案 0 :(得分:2)

只需使用基本R函数:dim(myquery)[1]

答案 1 :(得分:2)

计算行的dplyrish方法是使用特殊函数n()

myquery %>% summarise(n = n())

最快的是,只需抓住dimnrow,就像@Akbar的回答一样,最好。