maintain.order: Maintain Order

View source: R/dthelper-maintain-order.R

maintain.orderR Documentation

Maintain Order

Description

Given an order and variables, function creates new variables by rearranging input variables based on given order.

Usage

maintain.order(
  df,
  order.by,
  vars.to.order,
  new.category.name = "time",
  sep = ".",
  exact.match = TRUE,
  starts.with = TRUE,
  check = TRUE
)

Arguments

df

data.frame object

order.by

List of variables to order by. Should be a list object

vars.to.order

Input variable names that needs reordering

new.category.name

Name of created variable. Will be subscripted with .1, .2, ,3, etc.

sep

separator used for subscripting new variable names

exact.match

If set to FALSE, vars.to.order and order.by do not have to match exactly

Value

data.frame object

Examples


df <- data.frame(px = c(1,2,3),
      A = c(2, 4, 6),
      B = c(4, 6, 2),
      C = c(6, 4, 2),
      D = c(5, 6, 7 )
      )
df$order <- c("A|B|C|D", "D|A|C|B", "D|B|C|A")
df$order <- lapply(df$order, function(x){string.to.vect(x,sep="|")})

maintain.order(df = df, order.by = "order", vars.to.order = c("A", "B", "C","D"))
maintain.order(df = df, order.by = "order", vars.to.order = c("A", "B", "C"), new.category.name = "response")

df2 <- data.frame(df,
                  A.time = c(20.2, 30.2, 40.2),
                  B.time = c(10.1, 15.1, 20.1),
                  C.time = c(52.6, 58.6, 63.6),
                  D.time = c(1,2,3))
maintain.order(df2, order.by = "order", vars.to.order = c("A.time", "B.time", "C.time"), exact.match = FALSE)

also see <https://msrcodelibrary.netlify.app/2020/06/10/maintain-order/>
for step-by-step tutorial.


dennisteowh/dthelper documentation built on March 19, 2022, 11:42 a.m.