Learn R Programming

replyr (version 0.3.01)

replyr_moveValuesToRows: Collect values found in columnsToTakeFrom as tuples (experimental, not fully tested on multiple data suppliers).

Description

Collect values found in columnsToTakeFrom as tuples naming which column the value came from (placed in nameForNewKeyColumn) and value found (placed in nameForNewValueColumn). This is essentially a tidyr::gather, dplyr::melt, or anti-pivot. Similar interface as in the cdata package (though does not perform pre/post condition checks).

Usage

replyr_moveValuesToRows(data, nameForNewKeyColumn, nameForNewValueColumn,
  columnsToTakeFrom, ..., na.rm = FALSE,
  tempNameGenerator = makeTempNameGenerator("replyr_moveValuesToRows"))

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 columns to bind by name.

na.rm

logical if TRUE remove rows with NA in nameForNewValueColumn.

tempNameGenerator

temp name generator produced by replyr::makeTempNameGenerator, used to record dplyr::compute() effects.

Value

data item

Examples

Run this code

d <- data.frame(
  index = c(1, 2, 3),
  info = c('a', 'b', 'c'),
  meas1 = c('m1_1', 'm1_2', 'm1_3'),
  meas2 = c('m2_1', 'm2_2', 'm2_3'),
  stringsAsFactors = FALSE)
replyr_moveValuesToRows(d,
              nameForNewKeyColumn= 'meastype',
              nameForNewValueColumn= 'meas',
              columnsToTakeFrom= c('meas1','meas2'))
# cdata::moveValuesToRows(d,
#               nameForNewKeyColumn= 'meastype',
#               nameForNewValueColumn= 'meas',
#               columnsToTakeFrom= c('meas1','meas2'))

Run the code above in your browser using DataLab