The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Complete reference for all RandomWalker functions, organized by category.
rw30()Quickly generate 30 random walks with 100 steps each.
Usage:
Parameters: None
Returns: Tibble with 3,000 rows (30 walks × 100 steps)
Columns: - walk_number: Factor
identifying each walk - step_number: Integer step counter
(1-100) - y: Random walk values - cum_sum,
cum_prod, cum_min, cum_max,
cum_mean: Cumulative functions can be added but are not
returned
Examples:
# Generate and view
rw30() |> head(10)
#> # A tibble: 10 × 3
#> walk_number step_number y
#> <fct> <int> <dbl>
#> 1 1 1 0
#> 2 1 2 1.05
#> 3 1 3 0.912
#> 4 1 4 0.571
#> 5 1 5 0.317
#> 6 1 6 -0.622
#> 7 1 7 -0.433
#> 8 1 8 0.766
#> 9 1 9 1.09
#> 10 1 10 1.33# Analyze
rw30() |> summarize_walks(.value = y) |> head()
#> Warning: There was 1 warning in `dplyr::summarize()`.
#> ℹ In argument: `geometric_mean = exp(mean(log(y)))`.
#> Caused by warning in `log()`:
#> ! NaNs produced
#> # A tibble: 1 × 16
#> fns fns_name dimensions mean_val median range quantile_lo quantile_hi
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 rw30 Rw30 1 0.585 0.383 40.0 -11.6 13.9
#> # ℹ 8 more variables: variance <dbl>, sd <dbl>, min_val <dbl>, max_val <dbl>,
#> # harmonic_mean <dbl>, geometric_mean <dbl>, skewness <dbl>, kurtosis <dbl>All continuous distribution generators share these common parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
.num_walks |
Integer | 25 | Number of walks to generate |
.n |
Integer | 100 | Number of steps per walk |
.initial_value |
Numeric | 0 | Starting value |
.dimensions |
Integer | 1 | Spatial dimensions (1, 2, or 3) |
random_normal_walk()Generate random walks using normal distribution.
Additional Parameters: - .mu: Mean
(default: 0) - .sd: Standard deviation (default: 1)
Example:
random_normal_walk(.num_walks = 10, .mu = 0, .sd = 1) |> head()
#> # A tibble: 6 × 8
#> walk_number step_number y cum_sum_y cum_prod_y cum_min_y cum_max_y
#> <fct> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 1 1.21 1.21 0 1.21 1.21
#> 2 1 2 -0.466 0.747 0 -0.466 1.21
#> 3 1 3 -0.773 -0.0266 0 -0.773 1.21
#> 4 1 4 0.929 0.902 0 -0.773 1.21
#> 5 1 5 0.869 1.77 0 -0.773 1.21
#> 6 1 6 -2.03 -0.262 0 -2.03 1.21
#> # ℹ 1 more variable: cum_mean_y <dbl>random_normal_drift_walk()Generate random walks with explicit drift component.
Additional Parameters: - .mu: Drift
parameter (default: 0) - .sd: Standard deviation (default:
1)
brownian_motion()Generate standard Brownian motion (Wiener process).
Additional Parameters: - .mu: Drift
coefficient (default: 0) - .sigma: Volatility coefficient
(default: 1)
geometric_brownian_motion()Generate geometric Brownian motion (for stock prices).
Additional Parameters: - .mu: Expected
return (default: 0) - .sigma: Volatility (default: 1)
Note: Initial value defaults to 100 for this function.
random_beta_walk()Generate walks using beta distribution.
Additional Parameters: - .shape1: First
shape parameter (α) - .shape2: Second shape parameter (β) -
.ncp: Non-centrality parameter (default: 0)
random_cauchy_walk()Generate walks using Cauchy distribution (heavy tails).
Additional Parameters: - .location:
Location parameter (default: 0) - .scale: Scale parameter
(default: 1)
random_chisquared_walk()Generate walks using chi-squared distribution.
Additional Parameters: - .df: Degrees
of freedom - .ncp: Non-centrality parameter (default:
0)
random_exponential_walk()Generate walks using exponential distribution.
Additional Parameters: - .rate: Rate
parameter (default: 1)
random_f_walk()Generate walks using F-distribution.
Additional Parameters: - .df1:
Numerator degrees of freedom - .df2: Denominator degrees of
freedom - .ncp: Non-centrality parameter (default: 0)
random_gamma_walk()Generate walks using gamma distribution.
Additional Parameters: - .shape: Shape
parameter - .rate: Rate parameter (default: 1) -
.scale: Scale parameter (default: 1/rate)
random_lognormal_walk()Generate walks using log-normal distribution.
Additional Parameters: - .meanlog: Mean
of log (default: 0) - .sdlog: Standard deviation of log
(default: 1)
random_logistic_walk()Generate walks using logistic distribution.
Additional Parameters: - .location:
Location parameter (default: 0) - .scale: Scale parameter
(default: 1)
random_t_walk()Generate walks using Student’s t-distribution.
Additional Parameters: - .df: Degrees
of freedom - .ncp: Non-centrality parameter (default:
0)
random_uniform_walk()Generate walks using uniform distribution.
Additional Parameters: - .min: Minimum
value (default: 0) - .max: Maximum value (default: 1)
random_weibull_walk()Generate walks using Weibull distribution.
Additional Parameters: - .shape: Shape
parameter - .scale: Scale parameter (default: 1)
discrete_walk()Generate simple discrete random walks (binary up/down).
Parameters: - .num_walks: Number of
walks (default: 25) - .n: Number of steps (default: 100) -
.upper_bound: Maximum step size (default: 1) -
.lower_bound: Minimum step size (default: -1) -
.upper_probability: Probability of moving up (default: 0.5)
- .initial_value: Starting value (default: 0) -
.dimensions: Spatial dimensions (default: 1)
random_binomial_walk()Generate walks using binomial distribution.
Additional Parameters: - .size: Number
of trials - .prob: Probability of success (default:
0.5)
random_geometric_walk()Generate walks using geometric distribution.
Additional Parameters: - .prob:
Probability of success
random_hypergeometric_walk()Generate walks using hypergeometric distribution.
Additional Parameters: - .m: Number of
white balls - .n_param: Number of black balls -
.k: Number of balls drawn
random_multinomial_walk()Generate walks using multinomial distribution.
Additional Parameters: - .size: Number
of trials - .prob: Vector of probabilities (must sum to
1)
random_negbinomial_walk()Generate walks using negative binomial distribution.
Additional Parameters: - .size: Target
number of successes - .prob: Probability of success -
.mu: Alternative parameterization (mean)
random_poisson_walk()Generate walks using Poisson distribution.
Additional Parameters: - .lambda: Rate
parameter (mean and variance)
random_wilcox_walk()Generate walks using Wilcoxon rank sum statistic distribution.
Additional Parameters: - .m: Number of
observations in first group - .n_param: Number of
observations in second group
random_wilcoxon_sr_walk()Generate walks using Wilcoxon signed rank statistic distribution.
Additional Parameters: - .n_param:
Number of observations
random_smirnov_walk()Generate walks using Kolmogorov-Smirnov statistic distribution.
Additional Parameters: - .n_param:
Sample size
custom_walk()Generate random walks with custom displacement function.
Parameters: - .num_walks: Number of
walks (default: 25) - .n: Number of steps (default: 100) -
.displacement_fn: Custom function that returns displacement
value - .initial_value: Starting value (default: 0) -
.dimensions: Spatial dimensions (default: 1)
Example:
random_displacement_walk()Generate walks with custom displacement from a vector.
Parameters: - .num_walks: Number of
walks (default: 25) - .n: Number of steps (default: 100) -
.displacement: Vector of possible displacement values -
.initial_value: Starting value (default: 0) -
.dimensions: Spatial dimensions (default: 1)
visualize_walks()Create comprehensive visualizations of random walks.
Parameters: - .data: Random walk data
(tibble) - .alpha: Line transparency, 0-1 (default: 0.7) -
.interactive: Boolean, create interactive plot (default:
FALSE) - .pluck: Select specific columns to plot (default:
FALSE shows all) - Use exact plotted column names such as
"y", "cum_sum_y", "cum_sum_x", or
"cum_sum_z" - Short cumulative aliases such as
"cum_sum" work only when they match exactly one plotted
column - Can be a vector: c("y", "cum_sum_y")
Returns: - Static mode: ggplot2/patchwork object - Interactive mode: ggiraph object
Examples:
# Interactive (not run in vignette)
rw30() |> visualize_walks(.interactive = TRUE)
# Select specific panels
random_normal_walk() |> visualize_walks(.pluck = "cum_sum_y")
random_normal_walk() |> visualize_walks(.pluck = c("y", "cum_sum_y", "cum_mean_y"))summarize_walks()Compute comprehensive summary statistics for random walks.
Parameters: - .data: Random walk data
(tibble) - .value: Column name to summarize (unquoted) -
.group_var: Optional grouping variable (unquoted)
Returns: Tibble with statistics: - fns:
Function name - fns_name: Formatted function name -
dimensions: Number of dimensions - mean_val:
Mean - median: Median - range: Range (max -
min) - quantile_lo, quantile_hi: Quantiles -
variance, sd: Variance and standard deviation
- min_val, max_val: Minimum and maximum -
harmonic_mean, geometric_mean: Alternative
means - skewness, kurtosis: Shape measures
Examples:
walks <- rw30()
# Overall summary
walks |> summarize_walks(.value = y) |> head()
#> Warning: There was 1 warning in `dplyr::summarize()`.
#> ℹ In argument: `geometric_mean = exp(mean(log(y)))`.
#> Caused by warning in `log()`:
#> ! NaNs produced
#> # A tibble: 1 × 16
#> fns fns_name dimensions mean_val median range quantile_lo quantile_hi
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 rw30 Rw30 1 -0.0110 0.626 40.9 -16.3 11.1
#> # ℹ 8 more variables: variance <dbl>, sd <dbl>, min_val <dbl>, max_val <dbl>,
#> # harmonic_mean <dbl>, geometric_mean <dbl>, skewness <dbl>, kurtosis <dbl># By walk
walks |>
summarize_walks(.value = y, .group_var = walk_number) |>
head()
#> Warning: There were 29 warnings in `dplyr::summarize()`.
#> The first warning was:
#> ℹ In argument: `geometric_mean = exp(mean(log(y)))`.
#> ℹ In group 1: `walk_number = 1`.
#> Caused by warning in `log()`:
#> ! NaNs produced
#> ℹ Run `dplyr::last_dplyr_warnings()` to see the 28 remaining warnings.
#> # A tibble: 6 × 17
#> walk_number fns fns_name dimensions mean_val median range quantile_lo
#> <fct> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 rw30 Rw30 1 4.91 5.21 15.5 -2.24
#> 2 2 rw30 Rw30 1 -6.53 -7.71 16.8 -14.4
#> 3 3 rw30 Rw30 1 2.55 2.72 11.9 -2.69
#> 4 4 rw30 Rw30 1 3.84 4.13 8.64 -0.260
#> 5 5 rw30 Rw30 1 -2.98 -2.53 15.5 -9.07
#> 6 6 rw30 Rw30 1 -3.51 -3.32 17.5 -11.5
#> # ℹ 9 more variables: quantile_hi <dbl>, variance <dbl>, sd <dbl>,
#> # min_val <dbl>, max_val <dbl>, harmonic_mean <dbl>, geometric_mean <dbl>,
#> # skewness <dbl>, kurtosis <dbl># Cumulative sum
walks |>
dplyr::mutate(cum_sum = cumsum(y)) |>
summarize_walks(.value = cum_sum) |>
head()
#> Warning: There was 1 warning in `dplyr::summarize()`.
#> ℹ In argument: `geometric_mean = exp(mean(log(cum_sum)))`.
#> Caused by warning in `log()`:
#> ! NaNs produced
#> # A tibble: 1 × 16
#> fns fns_name dimensions mean_val median range quantile_lo quantile_hi
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 rw30 Rw30 1 258. 276. 2988. -1256. 1482.
#> # ℹ 8 more variables: variance <dbl>, sd <dbl>, min_val <dbl>, max_val <dbl>,
#> # harmonic_mean <dbl>, geometric_mean <dbl>, skewness <dbl>, kurtosis <dbl>subset_walks()Extract walks with extreme values.
Parameters: - .data: Random walk data
(tibble) - .value: Column name to subset by (default: “y”)
- .type: Type of subset (“max”, “min”, or “both”)
Returns: Tibble containing only the selected walk
Examples:
# Walk with maximum value
walks |> subset_walks(.type = "max", .value = "y")
# Walk with minimum value
walks |> subset_walks(.type = "min", .value = "y")confidence_interval()Calculate confidence interval for a vector.
Parameters: - .x: Numeric vector -
.interval: Confidence level (default: 0.95 for 95% CI)
Returns: Tibble with columns: - lower:
Lower confidence bound - upper: Upper confidence bound
Example:
running_quantile()Calculate running quantile at each position.
Parameters: - .x: Numeric vector -
.probs: Probability value (0-1) - .window:
Window size (positive integer; number of points to include in each
running quantile calculation)
Returns: Numeric vector of same length
Example:
euclidean_distance()Calculate Euclidean distance from origin for multi-dimensional walks.
Parameters: - .data: Multi-dimensional
random walk data (tibble)
Returns: Original data with added
distance column
Example:
These are automatically included in walk data:
std_cum_sum_augment(): Cumulative sumstd_cum_prod_augment(): Cumulative productstd_cum_min_augment(): Cumulative minimumstd_cum_max_augment(): Cumulative maximumstd_cum_mean_augment(): Cumulative meanGenerally used internally, but can be applied to custom data.
rand_walk_helper()Internal helper for adding cumulative columns.
Parameters: - .data: Data frame -
.value: Initial value
Returns: Data frame with cumulative columns added
Note: Typically used internally by generator functions.
convert_snake_to_title_case()Convert snake_case strings to Title Case.
Parameters: - string: Character string
in snake_case
Returns: Character string in Title Case
Example:
get_attributes()Get attributes without row names.
Parameters: - .data: Object with
attributes
Returns: List of attributes (excluding row.names)
Example:
walks <- rw30()
get_attributes(walks)
#> $names
#> [1] "walk_number" "step_number" "y"
#>
#> $class
#> [1] "tbl_df" "tbl" "data.frame"
#>
#> $num_walks
#> [1] 30
#>
#> $num_steps
#> [1] 100
#>
#> $mu
#> [1] 0
#>
#> $sd
#> [1] 1
#>
#> $fns
#> [1] "rw30"
#>
#> $dimension
#> [1] 1All generator functions return a tibble with consistent structure:
1D Walks:
# A tibble: N × 8
walk_number step_number y cum_sum_y cum_prod_y cum_min_y cum_max_y
<fct> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
# ... with 1 more column: cum_mean_y2D Walks:
# A tibble: N × 14
walk_number step_number x y cum_sum_x cum_sum_y cum_prod_x cum_prod_y
<fct> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
# ... with 6 more columns: cum_min_x, cum_min_y, cum_max_x, cum_max_y,
# cum_mean_x, cum_mean_y3D Walks:
All generated walks include attributes:
walks <- random_normal_walk(.num_walks = 10, .n = 100)
atb <- attributes(walks)
atb[!names(atb) %in% c("row.names")]
#> $names
#> [1] "walk_number" "step_number" "y" "cum_sum_y" "cum_prod_y"
#> [6] "cum_min_y" "cum_max_y" "cum_mean_y"
#>
#> $class
#> [1] "tbl_df" "tbl" "data.frame"
#>
#> $n
#> [1] 100
#>
#> $num_walks
#> [1] 10
#>
#> $mu
#> [1] 0
#>
#> $sd
#> [1] 0.1
#>
#> $initial_value
#> [1] 0
#>
#> $replace
#> [1] TRUE
#>
#> $samp
#> [1] TRUE
#>
#> $samp_size
#> [1] 80
#>
#> $periods
#> [1] 80
#>
#> $fns
#> [1] "random_normal_walk"
#>
#> $dimensions
#> [1] 1Version: 1.0.0.9000 (development)
License: MIT
Authors: - Steven P. Sanderson II, MPH (Author, Creator, Maintainer) - Antti Rask (Contributor, Visualization)
Dependencies: - dplyr - tidyr - purrr - rlang - patchwork - NNS - ggiraph
Suggested: - knitr - rmarkdown - stats - ggplot2 - tidyselect
Generation: - rw30() - Quick 30 walks -
random_normal_walk() - Normal distribution -
brownian_motion() - Brownian motion -
geometric_brownian_motion() - GBM -
discrete_walk() - Binary walk - 20+ more distribution
generators
Visualization: - visualize_walks() -
Main plotting function
Analysis: - summarize_walks() - Summary
statistics - subset_walks() - Extract extremes -
euclidean_distance() - Distance calculations -
confidence_interval() - Confidence intervals -
running_quantile() - Running quantiles
Utilities: - rand_walk_helper() - Add
cumulative columns - convert_snake_to_title_case() - String
formatting - get_attributes() - Get attributes
vignette("getting-started")vignette("home")These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.