ttpeak: Return time to peak from time-intensity data

View source: R/ttpeak.R

ttpeakR Documentation

Return time to peak from time-intensity data

Description

This function returns the time to peak from time-intensity curve data. Raw data is smoothed using a loess smoother, and the time of peak is returned. Time to a specified proportion of the peak (e.g. time to 90% of peak) can be calculated. It is recommended that plotresult is set to TRUE in the first instance to visually deconfirm the analysis.

Usage

ttpeak(
  data,
  timevar,
  intensityvar,
  loess.span = 0.1,
  peakproportion = NULL,
  plotresult = FALSE,
  ...
)

Arguments

data

A dataframe with time and intensity values as columns.

timevar

A character string (in quotes) with the dataframe column name for the time variable.

intensityvar

A character string (in quotes) with dataframe column name for the intensity variable.

loess.span

A number between 0 and 1, with larger values resulting in a smoother curve.

peakproportion

A number between 0 and 1 which is used in the time to peak proportion calculations. If a number is entered the function will return the time to peak proportion.

plotresult

TRUE or FALSE to determine whether a plot of the results is generated.

...

Additional arguments to be passed into the loess() function.

Value

The time at which the loess curve is at its peak. Depending on the plotresult argument can also return a plot of the smoothed curve.

Examples


# Example usage:

# Generating simulated data
set.seed(123)
example_data <- data.frame(time = seq(0, 82, by = 0.25))
random_vals <- sample(1:10, nrow(example_data), replace = TRUE)
example_data$regionA_intensity <- log(example_data$time + 1) * 50 -
  example_data$time * 2 + random_vals
example_data$regionB_intensity <- log(example_data$time + 7, base = 10) *
  80 - example_data$time * 1.5 + random_vals

# Example with defaults:

ttpeak(data = example_data, timevar = "time", intensityvar = "regionA_intensity")

# Example with additional arguments:

ttpeak(data = example_data, timevar = "time", intensityvar = "regionA_intensity",
                  loess.span = 0.1, peakproportion = 0.9, plotresult = TRUE)



tican documentation built on June 8, 2025, 11:05 a.m.