R/opspec.R
rowrecs_to_blocks_spec.Rd
Create a row records to block records transform specification object that holds the pivot control table, specification of extra row keys, and control table keys.
an all character data frame or cdata pivot control.
not used, force later arguments to bind by name.
vector of columns identifying records.
vector of keying columns of the controlTable.
passed to rowrecs_to_blocks.
passed to rowrecs_to_blocks.
passed to rowrecs_to_blocks.
logical, if TRUE allow rqdatatable shortcutting on simple conversions.
a record specification object
d <- wrapr::build_frame(
"id" , "AUC", "R2" |
1 , 0.7 , 0.4 |
2 , 0.8 , 0.5 )
transform <- rowrecs_to_blocks_spec(
wrapr::qchar_frame(
"measure", "value" |
"AUC" , AUC |
"R2" , R2 ),
recordKeys = "id")
print(transform)
#> {
#> row_record <- wrapr::qchar_frame(
#> "id" , "AUC", "R2" |
#> . , AUC , R2 )
#> row_keys <- c('id')
#>
#> # becomes
#>
#> block_record <- wrapr::qchar_frame(
#> "id" , "measure", "value" |
#> . , "AUC" , AUC |
#> . , "R2" , R2 )
#> block_keys <- c('id', 'measure')
#>
#> # args: c(checkNames = TRUE, checkKeys = FALSE, strict = FALSE, allow_rqdatatable = FALSE)
#> }
#>
d %.>% transform
#> id measure value
#> 1 1 AUC 0.7
#> 2 1 R2 0.4
#> 3 2 AUC 0.8
#> 4 2 R2 0.5
inv_transform <- t(transform)
print(inv_transform)
#> {
#> block_record <- wrapr::qchar_frame(
#> "id" , "measure", "value" |
#> . , "AUC" , AUC |
#> . , "R2" , R2 )
#> block_keys <- c('id', 'measure')
#>
#> # becomes
#>
#> row_record <- wrapr::qchar_frame(
#> "id" , "AUC", "R2" |
#> . , AUC , R2 )
#> row_keys <- c('id')
#>
#> # args: c(checkNames = TRUE, checkKeys = FALSE, strict = FALSE, allow_rqdatatable = FALSE)
#> }
#>
# identity (in structure)
d %.>% transform %.>% inv_transform
#> id AUC R2
#> 1 1 0.7 0.4
#> 2 2 0.8 0.5
# identity again (using .() "immediate" notation)
d %.>% transform %.>% .(t(transform))
#> id AUC R2
#> 1 1 0.7 0.4
#> 2 2 0.8 0.5