pmap()
他のデフォルト入力を持つ関数にマップするパラメーターとして 3 つ以上の入力がある場合、関数を使用する方法を考えています。
再現可能な例を次に示します。
a=c(5, 100, 900)
b=c(1, 2, 3)
ablist=list(mean=a,sd=b)
pmap(ablist, ~rnorm( mean=a , sd=b , n = 9))
出力:
[[1]]
[1] 5.734723 99.883171 895.962561 5.346905 98.723191 903.373177 4.172267 96.424440 897.437970
[[2]]
[1] 4.427977 98.348139 899.287248 4.404674 99.178516 900.983974 3.836353 101.520355 899.992332
[[3]]
[1] 4.961772 95.927525 899.096313 4.444354 101.694591 904.172462 6.231246 97.773325 897.611838
しかし、ご覧のとおり、出力はベクトルの順序でmean
andをマッピングしていません。sd
[[1]]
などと一緒に持ちたいですrnorm(mean=5,sd=1,n=9)
。好奇心から、pmap()
このデモで何をしているのか気になります。
ところで、この例ではmap2()
手間をかけずに簡単に使用できることはわかっていますが、実際のコードでは 10 個の入力があるため、 を使用する必要がありますpmap()
。
返信ありがとうございます。