Learn R Programming

tican (version 1.0.2)

ttpeak: 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,
  ...
)

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.

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.

Examples

Run this code

# 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)


Run the code above in your browser using DataLab