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

View source: R/rquery_fns.R

ex_data_table_stepR 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. Internal execution interface.

Usage

ex_data_table_step(
  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_step(optree)

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



WinVector/rqdatatable documentation built on Aug. 22, 2023, 3:25 p.m.