Na dplyr databáza vignette vysvetľuje:
"Akúkoľvek funkciu že dplyr nevie, ako premeniť listy ako je - stanovuje, že znamená, že ak chcete použiť iné funkcie databázy, môžete použiť ako je."
Pomocou rovnaký príklad ako vignette, lety dataset:
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"))
Podarilo sa mi použiť count() vo výkaze tbl() Tvorba:
tbl(my_db, sql("SELECT count(*) FROM flights"))
Ale to vráti počet Celá tabuľka len samozrejme nie ďalšie stĺpce, ako mohol použiť SQL count() po filtrovanie?
Dajte "s povedať, že by sa chceli počítať počet letov na Honolulu a rád by som dplyr::explain()
vrátiť zodpovedajúce dotazu SQL.
tbl(my_db, "flights") %>% filter(dest == "HNL") %>% explain()
Popisuje príkaz SQL, ktorý vráti všetky údaje pre lety do lokality Honolulu.Ako spočítať iba o tieto lety?
odpovede:
2 pre odpoveď č. 1Čo tak
my_db %>% tbl("flights") %>% mutate( n = n())