Default DB uses RSQLite (so some functions are not supported).

rquery_apply_to_data_frame(
  d,
  optree,
  ...,
  limit = NULL,
  source_limit = NULL,
  allow_executor = TRUE,
  env = parent.frame()
)

Arguments

d

data.frame or named list of data.frames.

optree

rquery rel_op operation tree.

...

force later arguments to bind by name.

limit

integer, if not NULL limit result to no more than this many rows.

source_limit

numeric if not NULL limit sources to this many rows.

allow_executor

logical if TRUE allow any executor set as rquery.rquery_executor to be used.

env

environment to look to.

Value

data.frame result

Examples

# WARNING: example tries to change rquery.rquery_db_executor option to RSQLite and back. if (requireNamespace("DBI", quietly = TRUE) && requireNamespace("RSQLite", quietly = TRUE)) { db <- DBI::dbConnect(RSQLite::SQLite(), ":memory:") RSQLite::initExtension(db) old_o <- options(list("rquery.rquery_db_executor" = list(db = db))) optree <- mk_td("d", c("AUC", "R2", "D")) %.>% extend(., c %:=% sqrt(R2)) %.>% orderby(., cols = "R2", reverse = "R2") d <- data.frame(AUC = 0.6, R2 = c(0.1, 0.2), D = NA, z = 2) v <- rquery_apply_to_data_frame(d, optree) print(v) # now load up a table without an R2 column, # want to show this is caught d <- data.frame(z = 1) tryCatch( rquery_apply_to_data_frame(d, optree), error = function(e) { as.character(e) } ) %.>% print(.) options(old_o) DBI::dbDisconnect(db) }
#> AUC R2 D c #> 1 0.6 0.2 NA 0.4472136 #> 2 0.6 0.1 NA 0.3162278 #> [1] "Error in rquery_apply_to_data_frame(d, optree): rquery::rquery_apply_to_data_frame d missing required columns: AUC, R2, D\n"