
17.8
ウォーク
297
#> $ : num [1:5] 3.07 -3.09 1.1 5.64 9.07
#> $ : int [1:5] 9 14 8 9 7
第1引数は関数のリストまたは関数名の文字ベクトルです。第2引数は、関数ごとに異なる引数を
指定するリストのリストです。第3 引数以降は全関数に引き渡されます。
今度は
tribble
を用いて、簡単にマッチするペアを作ることができます。
sim <- tribble(
~f, ~params,
"runif", list(min = -1, max = 1),
"rnorm", list(sd = 5),
"rpois", list(lambda = 10)
)
sim %>%
mutate(sim = invoke_map(f, params, n = 10))
#> # A tibble: 3
×
3
#> f params sim
#> <chr> <list> <list>
#> 1 runif <list [2]> <dbl [10]>
#>
2 rnorm <list [1]> <dbl [10]>
#> 3 rpois <list [1]> <int [10]>
17.8
ウォーク
ウォークは、関数をその戻り値ではなく、副作用のために呼び出したいときにマップの代わりに使
います。通常は、出力をスクリーンに描いたりファイルをディスクに保存したりするために使います。
すなわち、重要なのは戻り値ではなく動作です。簡単な例を示します。
x <- list(1, ...