R/opspec.R
blocks_to_rowrecs_spec.Rd
Create a block records to row 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 blocks_to_rowrecs.
passed to blocks_to_rowrecs.
passed to blocks_to_rowrecs.
logical, if TRUE allow rqdatatable shortcutting on simple conversions.
a record specification object
d <- wrapr::build_frame(
"id", "measure", "value" |
1 , "AUC" , 0.7 |
1 , "R2" , 0.4 |
2 , "AUC" , 0.8 |
2 , "R2" , 0.5 )
transform <- blocks_to_rowrecs_spec(
wrapr::qchar_frame(
"measure", "value" |
"AUC" , AUC |
"R2" , R2 ),
recordKeys = "id")
print(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 = TRUE, strict = FALSE, allow_rqdatatable = FALSE)
#> }
#>
d %.>% transform
#> id AUC R2
#> 1 1 0.7 0.4
#> 2 2 0.8 0.5
inv_transform <- t(transform)
print(inv_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 = TRUE, strict = FALSE, allow_rqdatatable = FALSE)
#> }
#>
# identity (in structure)
d %.>% transform %.>% inv_transform
#> id measure value
#> 1 1 AUC 0.7
#> 2 1 R2 0.4
#> 3 2 AUC 0.8
#> 4 2 R2 0.5
# identity again (using .() "immediate" notation)
d %.>% transform %.>% .(t(transform))
#> id measure value
#> 1 1 AUC 0.7
#> 2 1 R2 0.4
#> 3 2 AUC 0.8
#> 4 2 R2 0.5