Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7,
fig.height = 4.5,
fig.align = "center"
)
options(tibble.print_min = 6, tibble.print_max = 6)
modern_r <- getRversion() >= "4.1.0"
## ----setup--------------------------------------------------------------------
library(purrr)
library(tibble)
## -----------------------------------------------------------------------------
means <- 1:4
## -----------------------------------------------------------------------------
set.seed(2020)
samples <- lapply(means, rnorm, n = 5, sd = 1)
str(samples)
## -----------------------------------------------------------------------------
set.seed(2020)
samples <- map(means, rnorm, n = 5, sd = 1)
str(samples)
## -----------------------------------------------------------------------------
means <- 1:4
sds <- 1:4
## -----------------------------------------------------------------------------
set.seed(2020)
samples <- mapply(
rnorm,
mean = means,
sd = sds,
MoreArgs = list(n = 5),
SIMPLIFY = FALSE
)
str(samples)
## -----------------------------------------------------------------------------
samples <- Map(function(...) rnorm(..., n = 5), mean = means, sd = sds)
## ---- eval = modern_r---------------------------------------------------------
samples <- Map(\(...) rnorm(..., n = 5), mean = means, sd = sds)
## -----------------------------------------------------------------------------
set.seed(2020)
samples <- map2(means, sds, rnorm, n = 5)
str(samples)
## -----------------------------------------------------------------------------
ns <- 4:1
## -----------------------------------------------------------------------------
set.seed(2020)
samples <- Map(rnorm, mean = means, sd = sds, n = ns)
str(samples)
## -----------------------------------------------------------------------------
set.seed(2020)
samples <- pmap(list(mean = means, sd = sds, n = ns), rnorm)
str(samples)
## -----------------------------------------------------------------------------
# type stable
medians <- vapply(samples, median, FUN.VALUE = numeric(1L))
medians
# not type stable
medians <- sapply(samples, median)
## -----------------------------------------------------------------------------
medians <- map_dbl(samples, median)
medians
## ---- fig.show='hide'---------------------------------------------------------
# for loop
for (s in samples) {
hist(s, xlab = "value", main = "")
}
# lapply
invisible(lapply(samples, function(s) {
hist(s, xlab = "value", main = "")
}))
## ---- fig.show='hide'---------------------------------------------------------
walk(samples, ~ hist(.x, xlab = "value", main = ""))
## -----------------------------------------------------------------------------
set.seed(2020)
means %>%
map(rnorm, n = 5, sd = 1) %>%
map_dbl(median)
## ---- eval = modern_r---------------------------------------------------------
set.seed(2020)
means |>
lapply(rnorm, n = 5, sd = 1) |>
sapply(median)
## ---- eval = modern_r---------------------------------------------------------
mtcars %>%
split(mtcars$cyl) %>%
map(\(df) lm(mpg ~ wt, data = df)) %>%
map(coef) %>%
map_dbl(1)
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.