Map a data records from row records (records that are exactly single rows) to block records (records that may be more than one row). All columns not named in columnsToTakeFrom are copied to each record row in the result.
unpivot_to_blocks( data, nameForNewKeyColumn, nameForNewValueColumn, columnsToTakeFrom, ..., nameForNewClassColumn = NULL, checkNames = TRUE, checkKeys = FALSE, strict = FALSE, tmp_name_source = wrapr::mk_tmp_name_source("upb"), temporary = TRUE, allow_rqdatatable = FALSE ) layout_to_blocks( data, nameForNewKeyColumn, nameForNewValueColumn, columnsToTakeFrom, ..., nameForNewClassColumn = NULL, checkNames = TRUE, checkKeys = FALSE, strict = FALSE, tmp_name_source = wrapr::mk_tmp_name_source("upb"), temporary = TRUE, allow_rqdatatable = FALSE ) pivot_to_blocks( data, nameForNewKeyColumn, nameForNewValueColumn, columnsToTakeFrom, ..., nameForNewClassColumn = NULL, checkNames = TRUE, checkKeys = FALSE, strict = FALSE, tmp_name_source = wrapr::mk_tmp_name_source("upb"), temporary = TRUE, allow_rqdatatable = FALSE ) # S3 method for default unpivot_to_blocks( data, nameForNewKeyColumn, nameForNewValueColumn, columnsToTakeFrom, ..., nameForNewClassColumn = NULL, checkNames = TRUE, checkKeys = FALSE, strict = FALSE, allow_rqdatatable = FALSE ) # S3 method for relop unpivot_to_blocks( data, nameForNewKeyColumn, nameForNewValueColumn, columnsToTakeFrom, ..., checkNames = TRUE, checkKeys = FALSE, strict = FALSE, nameForNewClassColumn = NULL, tmp_name_source = wrapr::mk_tmp_name_source("upb"), temporary = TRUE, allow_rqdatatable = FALSE )Arguments data
data.frame to work with.
nameForNewKeyColumncharacter name of column to write new keys in.
nameForNewValueColumncharacter name of column to write new values in.
columnsToTakeFromcharacter array names of columns to take values from.
...force later arguments to bind by name.
nameForNewClassColumnoptional name to land original cell classes to.
checkNameslogical, if TRUE check names.
checkKeyslogical, if TRUE check columnsToCopy form row keys (not a requirement, unless you want to be able to invert the operation).
strictlogical, if TRUE check control table name forms.
tmp_name_sourcea tempNameGenerator from cdata::mk_tmp_name_source()
temporarylogical, if TRUE make result temporary.
allow_rqdatatablelogical, if TRUE allow rqdatatable shortcutting on simple conversions.
Valuenew data.frame with values moved to rows.
See alsopivot_to_rowrecs
, rowrecs_to_blocks
d <- data.frame(model_name
= "m1", AUC
= 0.6, R2
= 0.2) unpivot_to_blocks(d, nameForNewKeyColumn
= 'meas', nameForNewValueColumn
= 'val', columnsToTakeFrom
= c('AUC',
'R2')) %.>% print(.)#> model_name meas val #> 1 m1 AUC 0.6 #> 2 m1 R2 0.2
d <- data.frame(AUC
= 0.6, R2
= 0.2) ops <- rquery::local_td(d) %.>% unpivot_to_blocks( ., nameForNewKeyColumn
= 'meas', nameForNewValueColumn
= 'val', columnsToTakeFrom
= c('AUC',
'R2')) cat(format(ops))#> mk_td("d", c( #> "AUC", #> "R2")) %.>% #> non_sql_node(., unpivot_to_blocks(., nameForNewKeyColumn="meas , nameForNewValueColumn="val"))
#> meas val #> 1 AUC 0.6 #> 2 R2 0.2
#> meas val #> 1 AUC 0.6 #> 2 R2 0.2
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4