Nothing
The goal of ripe is to create a more flexible way to rerun {magrittr} pipelines.
remotes::install_github('yonicd/ripe')
We want to rerun the following pipeline that contains stochastic elements in a shorter and more flexible way
f <- function(){
stats::runif(20)%>%
sample(10)%>%
utils::head(5)
}
set.seed(123)
replicate(n=3,f(),simplify = FALSE)
#> [[1]]
#> [1] 0.5514350 0.4089769 0.8924190 0.5281055 0.4566147
#>
#> [[2]]
#> [1] 0.4145463 0.2164079 0.1428000 0.3688455 0.4659625
#>
#> [[3]]
#> [1] 0.7881958 0.1028646 0.4348927 0.9849570 0.4398317
set.seed(123)
stats::runif(20)%>%
sample(10)%>%
utils::head(5)%>%
replicate(n = 3,simplify = FALSE)
#> [[1]]
#> [1] 0.5514350 0.4089769 0.8924190 0.5281055 0.4566147
#>
#> [[2]]
#> [1] 0.5514350 0.4089769 0.8924190 0.5281055 0.4566147
#>
#> [[3]]
#> [1] 0.5514350 0.4089769 0.8924190 0.5281055 0.4566147
That didn’t do what we wanted…
set.seed(123)
stats::runif(20)%>%
sample(10)%>%
utils::head(5)%>%
ripe(replicate,n=3,simplify=FALSE)
#> [[1]]
#> [1] 0.4145463 0.2164079 0.1428000 0.3688455 0.4659625
#>
#> [[2]]
#> [1] 0.7881958 0.1028646 0.4348927 0.9849570 0.4398317
#>
#> [[3]]
#> [1] 0.9144382 0.4886130 0.7205963 0.4829024 0.6087350
We can now manipulate the pipeline or move ripe
around into different
subsets of the function sequence, creating iterative replication
workflows.
set.seed(123)
stats::runif(20)%>%
#sample(10)%>%
utils::head(5)%>%
ripe(replicate,n=3,simplify=FALSE)
#> [[1]]
#> [1] 0.8895393 0.6928034 0.6405068 0.9942698 0.6557058
#>
#> [[2]]
#> [1] 0.1428000 0.4145463 0.4137243 0.3688455 0.1524447
#>
#> [[3]]
#> [1] 0.66511519 0.09484066 0.38396964 0.27438364 0.81464004
You can also quickly convert the pipelines to a lazyeval function
f <- stats::runif(20)%>%
sample(10)%>%
utils::head(5)%>%
lazy()
set.seed(123)
f()
#> [1] 0.5514350 0.4089769 0.8924190 0.5281055 0.4566147
f()
#> [1] 0.4145463 0.2164079 0.1428000 0.3688455 0.4659625
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.