Learn R Programming

replyr (version 0.2.0)

replyr_spread: Spread values found in rowControlColumn row groups as new columns. A concept demonstration, not a usable function.

Description

Spread values found in rowControlColumn row groups as new columns. Values types (new column names) are identified in measurementNameColumn and values are taken from measurementValueColumn. This is denormalizing operation, or essentially a tidyr::spread, dplyr::dcast, or pivot. This implementation moves so much data it is essentially working locally and also very inefficient.

Usage

replyr_spread(df, rowControlColumn, measurementNameColumn, measurementValueColumn, maxcols = 100, useTidyr = FALSE, eagerCompute = FALSE)

Arguments

df
data item
rowControlColumn
column to determine which sets of rows are considered a group.
measurementNameColumn
column to take measurement names from (values become new columns)
measurementValueColumn
column to take measurement values from
maxcols
maximum number of values to expand to columns
useTidyr
if TRUE use tidyr instead of calculating on own (only works on local data types)
eagerCompute
if TRUE call compute on intermediate results

Value

data item

Examples

Run this code

d <- data.frame(
  index = c(1, 2, 3, 1, 2, 3),
  meastype = c('meas1','meas1','meas1','meas2','meas2','meas2'),
  meas = c('m1_1', 'm1_2', 'm1_3', 'm2_1', 'm2_2', 'm2_3'),
  stringsAsFactors = FALSE)
replyr_spread(d,'index','meastype','meas')
replyr_spread(d,'index','meastype','meas',useTidyr=TRUE)

Run the code above in your browser using DataLab