我通常在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方法吗?
答案 0 :(得分:2)
只需使用基本R函数:dim(myquery)[1]
答案 1 :(得分:2)
计算行的dplyrish方法是使用特殊函数n()
:
myquery %>% summarise(n = n())
最快的是,只需抓住dim
或nrow
,就像@Akbar的回答一样,最好。