ex_data_table: Execute an 'rquery' pipeline with 'data.table' sources.

View source: R/rquery_fns.R

ex_data_tableR Documentation

Execute an rquery pipeline with data.table sources.

Description

data.tables are looked for by name in the tables argument and in the execution environment. Main external execution interface.

Usage

ex_data_table(
  optree,
  ...,
  tables = list(),
  source_usage = NULL,
  source_limit = NULL,
  env = parent.frame()
)

Arguments

optree

relop operations tree.

...

not used, force later arguments to bind by name.

tables

named list map from table names used in nodes to data.tables and data.frames.

source_usage

list mapping source table names to vectors of columns used.

source_limit

if not null limit all table sources to no more than this many rows (used for debugging).

env

environment to work in.

Details

  • ex_data_table_step.relop_drop_columns: implement drop columns

  • ex_data_table_step.relop_extend: implement extend/assign operator

  • ex_data_table_step.relop_natural_join: implement natural join

  • ex_data_table_step.relop_non_sql: direct function (non-sql) operator (not implemented for data.table)

  • ex_data_table_step.relop_null_replace: implement NA/NULL replacement

  • ex_data_table_step.relop_orderby: implement row ordering

  • ex_data_table_step.relop_project: implement row ordering

  • ex_data_table_step.relop_rename_columns: implement column renaming

  • ex_data_table_step.relop_select_columns: implement select columns

  • ex_data_table_step.relop_select_rows: implement select rows

  • ex_data_table_step.relop_sql: direct sql operator (not implemented for data.table)

  • ex_data_table_step.relop_table_source: implement data source

  • ex_data_table_step.relop_theta_join: implement theta join (not implemented for data.table)

  • ex_data_table_step.relop_unionall: implement row binding

Value

resulting data.table (intermediate tables can somtimes be mutated as is practice with data.table).

Examples


  a <- data.table::data.table(x = c(1, 2) , y = c(20, 30), z = c(300, 400))
  optree <- local_td(a) %.>%
     select_columns(., c("x", "y")) %.>%
     select_rows_nse(., x<2 & y<30)
  cat(format(optree))
  ex_data_table(optree)

  # other ways to execute the pipeline include
  data.frame(x = 0, y = 4, z = 400) %.>% optree



rqdatatable documentation built on Aug. 21, 2023, 9:10 a.m.