View source: R/gen-random-nbinomial-walk.R
random_negbinomial_walk | R Documentation |
A Negative Binomial random walk is a stochastic process in which each step is drawn from the Negative Binomial distribution, commonly used for modeling count data with overdispersion. This function allows for the simulation of multiple independent random walks in one, two, or three dimensions, with user control over the number of walks, steps, and the distribution parameters. Sampling options allow for further customization, including the ability to sample a proportion of steps and to sample with or without replacement. The resulting data frame includes cumulative statistics for each walk, making it suitable for simulation studies and visualization.
random_negbinomial_walk(
.num_walks = 25,
.n = 100,
.size = 1,
.prob = 0.5,
.mu = NULL,
.initial_value = 0,
.samp = TRUE,
.replace = TRUE,
.sample_size = 0.8,
.dimensions = 1
)
.num_walks |
An integer specifying the number of random walks to generate. Default is 25. |
.n |
Integer. Number of random variables to return for each walk. Default is 100. |
.size |
Integer. Number of successful trials or dispersion parameter. Default is 1.
This must also match the number of dimensions, for example if |
.prob |
Numeric. Probability of success in each trial (0 < prob <= 1). Default is 0.5.
This must also match the number of dimensions, for example if |
.mu |
Numeric. Alternative parametrization via mean. Default is NULL.
This must also match the number of dimensions, for example if |
.initial_value |
Numeric. Starting value of the walk. Default is 0. |
.samp |
Logical. Whether to sample the steps. Default is TRUE. |
.replace |
Logical. Whether sampling is with replacement. Default is TRUE. |
.sample_size |
Numeric. Proportion of steps to sample (0-1). Default is 0.8. |
.dimensions |
Integer. Number of dimensions (1, 2, or 3). Default is 1. |
The random_negbinomial_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 the Negative Binomial distribution using stats::rnbinom()
.
The user can specify the number of samples in each walk (n
), the size parameter,
the probability of success (prob
), and/or the mean (mu
), and the number of
dimensions. The function also allows for sampling a proportion of the steps and
optionally sampling with replacement.
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)
.
Steven P. Sanderson II, MPH
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_exponential_walk()
,
random_f_walk()
,
random_gamma_walk()
,
random_geometric_walk()
,
random_hypergeometric_walk()
,
random_logistic_walk()
,
random_lognormal_walk()
,
random_multinomial_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 Discrete Distribution:
discrete_walk()
,
random_binomial_walk()
,
random_displacement_walk()
,
random_geometric_walk()
,
random_hypergeometric_walk()
,
random_multinomial_walk()
,
random_poisson_walk()
,
random_smirnov_walk()
,
random_wilcox_walk()
,
random_wilcoxon_sr_walk()
set.seed(123)
random_negbinomial_walk()
set.seed(123)
random_negbinomial_walk(.dimensions = 3,
.size = c(1,2,3),
.prob = c(0.5,0.7,0.9)
) |>
head() |>
t()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.