Nothing
## ----chpkg--------------------------------------------------------------------
run_vignette <- requireNamespace("DBI", quietly = TRUE) &&
requireNamespace("RSQLite", quietly = TRUE)
## ----import-------------------------------------------------------------------
library("rquery")
library("wrapr")
## ----setup, eval=run_vignette-------------------------------------------------
# example database connection
db <- DBI::dbConnect(RSQLite::SQLite(),
":memory:")
RSQLite::initExtension(db)
# adapt to database
dbopts <- rq_connection_tests(db)
options(dbopts)
# register database
old_o <- options(list("rquery.rquery_db_executor" = list(db = db)))
## ----tabledescr1, eval=run_vignette-------------------------------------------
# copy in example data
rq_copy_to(
db, 'd',
data.frame(v = c(1, -5, 3)),
temporary = FALSE,
overwrite = TRUE)
# produce a hande to existing table
d <- db_td(db, "d")
## ----isna, eval=run_vignette--------------------------------------------------
d %.>%
extend(., was_na := ifelse(is.na(v), 1, 0)) %.>%
to_sql(., db) %.>%
cat(.)
## ----logisticex, eval=run_vignette--------------------------------------------
scale <- 0.237
dq <- mk_td("d3",
columns = qc(subjectID,
surveyCategory,
assessmentTotal)) %.>%
extend(.,
probability :=
exp(assessmentTotal * scale)) %.>%
normalize_cols(.,
"probability",
partitionby = 'subjectID') %.>%
pick_top_k(.,
partitionby = 'subjectID',
orderby = c('probability', 'surveyCategory'),
reverse = c('probability')) %.>%
rename_columns(., 'diagnosis' := 'surveyCategory') %.>%
select_columns(., c('subjectID',
'diagnosis',
'probability')) %.>%
orderby(., 'subjectID')
## ----logprops, eval=run_vignette----------------------------------------------
tables_used(dq)
columns_used(dq)
column_names(dq)
## ----printlogistic, eval=run_vignette-----------------------------------------
cat(format(dq))
## ----printlogisticsq, eval=run_vignette---------------------------------------
cat(to_sql(dq, db))
## ----rsummaryex, eval=run_vignette--------------------------------------------
d %.>%
rsummary_node(.) %.>%
execute(db, .)
## ----assignmentpart, eval=run_vignette----------------------------------------
ot <- mk_td('d4',
columns = qc('a', 'b', 'c', 'd')) %.>%
extend(.,
x = a + 1,
y = x + 1,
u = b + 1,
v = c + 1,
w = d + 1)
cat(format(ot))
## ----ifelseblock, eval=run_vignette-------------------------------------------
ifet <- mk_td("d5",
columns = "test") %.>%
extend_se(.,
c(qae(x = '',
y = ''),
if_else_block(
qe(test > 5),
thenexprs = qae(x = 'a',
y = 'b'),
elseexprs = qae(x = 'b',
y = 'a')
)))
cat(format(ifet))
## ---- eval=run_vignette-------------------------------------------------------
wp <- mk_td(table = 'd6',
columns = letters[1:5]) %.>%
extend(., res := a + b)
# full query
cat(to_sql(wp, db))
# longer pipeline
wn <- wp %.>%
select_columns(., "res")
# notice select at end of the pipeline automatically
# gets propagated back to the beginning of the
# pipeline
cat(to_sql(wn, db))
## ----cleanup, eval=run_vignette-----------------------------------------------
options(old_o)
DBI::dbDisconnect(db)
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.