map2() を使って複数入力でデータをシミュレーションする
map() は「1つ」のリストを反復処理するのに便利ですが、実務では2つのリストを同時に回す必要がよくあります。そこで活躍するのが map2() です。map() はリストを .x 引数に取りますが、map2() は2つのリストを .x と .y の2つの引数として受け取ります。
map2() を試すために、数値のリストと文字列のリストからなるシンプルなデータセットを作成します。これら2つのリストを組み合わせて、シミュレートデータを作りましょう。
この演習はコースの一部です
purrr で学ぶ関数型プログラミング入門
演習の手順
- 1〜3 の値をそれぞれ別要素として含む
meansリストを作成します。 - "north"、"west"、"east" を要素に持つ
sitesリストを作成します。 sitesとmeansのリストに対してmap2()を使い、2列のデータフレームを作成します。- 1列目は
sites、2列目はmeansリストのmeanを使ってrnorm()で生成します。
- 1列目は
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# List of 1, 2 and 3
means <- list(___)
# Create sites list
sites <- list(___)
# Map over two arguments: sites and means
list_of_files_map2 <- map2(___, ___, ~___(sites = ___,
a = rnorm(mean = ___, n = 200, sd = (5/2))))
list_of_files_map2