random_exponential_walk: Generate Multiple Random Exponential Walks in Multiple...

View source: R/gen-random-exponential-walk.R

random_exponential_walkR Documentation

Generate Multiple Random Exponential Walks in Multiple Dimensions

Description

The random_exponential_walk function generates multiple random walks in 1, 2, or 3 dimensions. Each walk is a sequence of steps where each step is a random draw from an exponential distribution.

Usage

random_exponential_walk(
  .num_walks = 25,
  .n = 100,
  .rate = 1,
  .initial_value = 0,
  .samp = TRUE,
  .replace = TRUE,
  .sample_size = 0.8,
  .dimensions = 1
)

Arguments

.num_walks

An integer specifying the number of random walks to generate. Default is 25.

.n

An integer specifying the number of steps in each walk. Must be >= 1. Default is 100.

.rate

A numeric value or vector indicating the rate parameter(s) of the exponential distribution. Default is 1.

.initial_value

A numeric value indicating the initial value of the walks. Default is 0.

.samp

A logical value indicating whether to sample the exponential distribution values. Default is TRUE.

.replace

A logical value indicating whether sampling is with replacement. Default is TRUE.

.sample_size

A numeric value between 0 and 1 specifying the proportion of .n to sample. Default is 0.8.

.dimensions

An integer specifying the number of dimensions (1, 2, or 3). Default is 1.

Details

The rate parameter can be a single value or a vector of length equal to the number of dimensions. If a vector is provided, each dimension uses its corresponding rate.

Value

A tibble containing the generated random walks with columns depending on the number of dimensions:

  • walk_number: Factor representing the walk number.

  • step_number: Step index.

  • y: If .dimensions = 1, the value of the walk at each step.

  • x, y: If .dimensions = 2, the values of the walk in two dimensions.

  • x, y, z: If .dimensions = 3, the values of the walk in three dimensions.

The following are also returned based upon how many dimensions there are and could be any of x, y and or z:

  • cum_sum: Cumulative sum of dplyr::all_of(.dimensions).

  • cum_prod: Cumulative product of dplyr::all_of(.dimensions).

  • cum_min: Cumulative minimum of dplyr::all_of(.dimensions).

  • cum_max: Cumulative maximum of dplyr::all_of(.dimensions).

  • cum_mean: Cumulative mean of dplyr::all_of(.dimensions).

The tibble includes attributes for the function parameters.

Author(s)

Steven P. Sanderson II, MPH

See Also

Other Generator Functions: brownian_motion(), discrete_walk(), geometric_brownian_motion(), random_beta_walk(), random_binomial_walk(), random_cauchy_walk(), random_chisquared_walk(), random_displacement_walk(), random_f_walk(), random_gamma_walk(), random_geometric_walk(), random_hypergeometric_walk(), random_logistic_walk(), random_lognormal_walk(), random_multinomial_walk(), random_negbinomial_walk(), random_normal_drift_walk(), random_normal_walk(), random_poisson_walk(), random_smirnov_walk(), random_t_walk(), random_uniform_walk(), random_weibull_walk(), random_wilcox_walk(), random_wilcoxon_sr_walk()

Other Continuous Distribution: brownian_motion(), geometric_brownian_motion(), random_beta_walk(), random_cauchy_walk(), random_chisquared_walk(), random_f_walk(), random_gamma_walk(), random_logistic_walk(), random_lognormal_walk(), random_normal_drift_walk(), random_normal_walk(), random_t_walk(), random_uniform_walk(), random_weibull_walk()

Examples

set.seed(123)
random_exponential_walk()

set.seed(123)
random_exponential_walk(.dimensions = 3, .rate = c(0.1, 0.1, 0.2)) |>
  head() |>
  t()


RandomWalker documentation built on Aug. 19, 2025, 1:14 a.m.