如何在dplyr中使用SQL count(*)?

保罗·鲁吉

dplyr数据库小品解释说:

“ dplyr不知道如何转换它的任何函数都保持原样-这意味着,如果您想使用数据库提供的任何其他函数,则可以原样使用。”

使用与小插图相同的示例,航班数据集:

library(nycflights13)
my_db <- src_sqlite("my_db.sqlite3", create = T)
flights_sqlite <- copy_to(my_db, flights, temporary = FALSE, indexes = list(
c("year", "month", "day"), "carrier", "tailnum"))

我设法在tbl()创建语句中使用count():

tbl(my_db, sql("SELECT count(*) FROM flights"))

但这显然只返回整个表的计数,而不返回其他列,如何在执行过滤操作后使用SQL count()?

假设我想计算飞往檀香山的航班数量,并且想dplyr::explain()返回相应的SQL查询。

tbl(my_db, "flights") %>% filter(dest == "HNL") %>% explain()

描述返回返回檀香山航班的所有数据的SQL语句。仅如何计算这些航班?

基里尔

怎么样

my_db %>% tbl("flights") %>% mutate( n = n())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章