inst/doc/reproducibility.R

## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----setup, message = FALSE---------------------------------------------------
library(simpr)

## ----run_1--------------------------------------------------------------------
set.seed(500)
run_1 = specify(a = ~ runif(6)) %>% 
  generate(3)

run_1

## ----run_2--------------------------------------------------------------------
set.seed(500)
run_2 = specify(a = ~ runif(6)) %>% 
  generate(3)

run_2

## ----run_compare--------------------------------------------------------------
identical(run_1, run_2)

## ----filter_after_generating--------------------------------------------------
set.seed(500)
filter_after_generating = specify(a = ~ runif(6)) %>% 
  generate(3) %>% 
  filter(.sim_id == 2)

filter_after_generating

## ----filter_while_generating--------------------------------------------------
## Much faster, same result!
set.seed(500)
filter_while_generating = specify(a = ~ runif(6)) %>% 
  generate(3, .sim_id == 2)

filter_while_generating

## ----filter_test--------------------------------------------------------------
identical(filter_after_generating, filter_while_generating)

## ----filter_max_10------------------------------------------------------------
set.seed(500)
filter_max_10 = specify(a = ~ sample(0:max, size = 10, replace = TRUE),
        b = ~ a + rnorm(10))  %>% 
  define(max = c(0, 1, 10)) %>%
  generate(3, max == 10)

filter_max_10

## ----fit_error_data-----------------------------------------------------------
fit_errors = filter(fit_tidy, !is.na(.fit_error))

set.seed(500)
fit_error_data = specify(a = ~ sample(1:max, size = 10, replace = TRUE),
                     b = ~ a + rnorm(10))  %>% 
  define(max = c(0, 1, 10)) %>%
  generate(3, .sim_id %in% fit_errors$.sim_id)

fit_error_data

Try the simpr package in your browser

Any scripts or data that you put into this service are public.

simpr documentation built on April 26, 2023, 9:12 a.m.