as_rquery_plan {vtreat} | R Documentation |
Convert vtreatment plans into a sequence of rquery operations.
Description
Convert vtreatment plans into a sequence of rquery operations.
Usage
as_rquery_plan(treatmentplans, ..., var_restriction = NULL)
Arguments
treatmentplans |
vtreat treatment plan or list of vtreat treatment plan sharing same outcome and outcome type. |
... |
not used, force any later arguments to bind to names. |
var_restriction |
character, if not null restrict to producing these variables. |
Value
list(optree_generator (ordered list of functions), temp_tables (named list of tables))
See Also
Examples
if(requireNamespace("rquery", quietly = TRUE)) {
dTrainC <- data.frame(x= c('a', 'a', 'a', 'b' ,NA , 'b'),
z= c(1, 2, NA, 4, 5, 6),
y= c(FALSE, FALSE, TRUE, FALSE, TRUE, TRUE),
stringsAsFactors = FALSE)
dTrainC$id <- seq_len(nrow(dTrainC))
treatmentsC <- designTreatmentsC(dTrainC, c("x", "z"), 'y', TRUE)
print(prepare(treatmentsC, dTrainC))
rqplan <- as_rquery_plan(list(treatmentsC))
ops <- flatten_fn_list(rquery::local_td(dTrainC), rqplan$optree_generators)
cat(format(ops))
if(requireNamespace("rqdatatable", quietly = TRUE)) {
treated <- rqdatatable::ex_data_table(ops, tables = rqplan$tables)
print(treated[])
}
if(requireNamespace("DBI", quietly = TRUE) &&
requireNamespace("RSQLite", quietly = TRUE)) {
db <- DBI::dbConnect(RSQLite::SQLite(), ":memory:")
source_data <- rquery::rq_copy_to(db, "dTrainC", dTrainC,
overwrite = TRUE, temporary = TRUE)
rest <- rquery_prepare(db, rqplan, source_data, "dTreatedC",
extracols = "id")
resd <- DBI::dbReadTable(db, rest$table_name)
print(resd)
rquery::rq_remove_table(db, source_data$table_name)
rquery::rq_remove_table(db, rest$table_name)
DBI::dbDisconnect(db)
}
}
[Package vtreat version 1.6.5 Index]