Nothing
## -----------------------------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
library(prqlr)
## -----------------------------------------------------------------------------
library(prqlr)
"
from mtcars
filter cyl > 6
select {cyl, mpg}
derive {mpg_int = math.round 0 mpg}
" |>
prql_compile() |>
cat()
## -----------------------------------------------------------------------------
library(DBI)
# Create an ephemeral in-memory SQLite database
con <- dbConnect(RSQLite::SQLite(), ":memory:")
# Create a table inclueds `mtcars` data
dbWriteTable(con, "mtcars", mtcars)
# Execute a PRQL query
"
from mtcars
filter cyl > 6
select {cyl, mpg}
derive {mpg_int = math.round 0 mpg}
take 3
" |>
prql_compile("sql.sqlite") |>
dbGetQuery(con, statement = _)
## -----------------------------------------------------------------------------
"
from mtcars
filter cyl > 6
select {cyl, mpg}
derive {mpg_int = math.round 0 mpg}
take 3
" |>
prql_compile("sql.sqlite") |>
sqldf::sqldf()
## -----------------------------------------------------------------------------
library(tidyquery)
library(nycflights13)
"
from flights
filter (distance | in 200..300)
filter air_time != null
group {origin, dest} (
aggregate {
num_flts = count this,
avg_delay = (average arr_delay | math.round 0)
}
)
sort {-origin, avg_delay}
take 2
" |>
prql_compile() |>
query()
## -----------------------------------------------------------------------------
library(dplyr, warn.conflicts = FALSE)
library(nycflights13)
flights |>
filter(
distance |> between(200, 300),
!is.na(air_time)
) |>
group_by(origin, dest) |>
summarise(
num_flts = n(),
avg_delay = mean(arr_delay, na.rm = TRUE) |> round(0),
.groups = "drop"
) |>
arrange(desc(origin), avg_delay) |>
head(2)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.