Skip to contents

This function performs transformations on specified columns of a data frame, including truncating maximum values, handling negative values, and adding a zero to the series. It allows for grouping and supports retaining metadata in the output.

Usage

series_mutate(
  data,
  x,
  y,
  grp,
  metadata,
  max_as_last = FALSE,
  check_negative = FALSE,
  add_zero = FALSE,
  interval = NULL
)

Arguments

data

A `data.frame` containing the input data for analysis.

x

The name of the column in `data` representing the independent variable (x points).

y

The name of the column(s) in `data` containing variables to transform.

grp

Column(s) in `data` used as grouping variable(s). Defaults to `NULL` (optional).

metadata

Names of columns to retain in the output. Defaults to `NULL` (optional).

max_as_last

Logical. If `TRUE`, appends the maximum value after reaching the maximum. Default is `FALSE`.

check_negative

Logical. If `TRUE`, converts negative values in the data to zero. Default is `FALSE`.

add_zero

Logical. If `TRUE`, adds a zero value to the series at the start. Default is `FALSE`.

interval

A numeric vector of length 2 (start and end) specifying the range to filter the data. Defaults to `NULL`.

Value

A transformed `data.frame` with the specified modifications applied.

Examples

data(dt_potato)
new_data <- series_mutate(
  data = dt_potato,
  x = DAP,
  y = GLI,
  grp = gid,
  max_as_last = TRUE,
  check_negative = TRUE
)