Learn R Programming

cdata (version 1.0.7)

unpivot_to_blocks: Move values from columns to rows (anti-pivot, or "shred").

Description

This is a convenience notation for rowrecs_to_blocks. For a tutorial please try vignette('RowsAndColumns', package='cdata').

Usage

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)

# S3 method for default unpivot_to_blocks(data, nameForNewKeyColumn, nameForNewValueColumn, columnsToTakeFrom, ..., nameForNewClassColumn = NULL, checkNames = TRUE, checkKeys = FALSE, strict = FALSE)

# S3 method for relop unpivot_to_blocks(data, nameForNewKeyColumn, nameForNewValueColumn, columnsToTakeFrom, ..., nameForNewClassColumn = NULL, tmp_name_source = wrapr::mk_tmp_name_source("upb"), temporary = TRUE)

Arguments

data

data.frame to work with.

nameForNewKeyColumn

character name of column to write new keys in.

nameForNewValueColumn

character name of column to write new values in.

columnsToTakeFrom

character array names of columns to take values from.

...

force later arguments to bind by name.

nameForNewClassColumn

optional name to land original cell classes to.

checkNames

logical, if TRUE check names.

checkKeys

logical, if TRUE check columnsToCopy form row keys (not a requirement, unless you want to be able to invert the operation).

strict

logical, if TRUE check control table name forms.

tmp_name_source

a tempNameGenerator from cdata::mk_tmp_name_source()

temporary

logical, if TRUE make result temporary.

Value

new data.frame with values moved to rows.

See Also

pivot_to_rowrecs, rowrecs_to_blocks

Examples

Run this code
# NOT RUN {
  d <- data.frame(AUC= 0.6, R2= 0.2)
  unpivot_to_blocks(d,
                    nameForNewKeyColumn= 'meas',
                    nameForNewValueColumn= 'val',
                    columnsToTakeFrom= c('AUC', 'R2')) %.>%
     print(.)


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))

if(requireNamespace("rqdatatable", quietly = TRUE)) {
  library("rqdatatable")
  d %.>%
    ops %.>%
    print(.)
}

if(requireNamespace("RSQLite", quietly = TRUE)) {
  db <- DBI::dbConnect(RSQLite::SQLite(), ":memory:")
  DBI::dbWriteTable(db,
                    'd',
                    d,
                    overwrite = TRUE,
                    temporary = TRUE)
  db %.>%
    ops %.>%
    print(.)
  DBI::dbDisconnect(db)
}

# }

Run the code above in your browser using DataLab