gpt4 book ai didi

R purrr:::pmap:如何按名称引用输入参数?

转载 作者:行者123 更新时间:2023-12-03 14:47:48 26 4
gpt4 key购买 nike

我正在使用 R purrr:::pmap带三个输入。不清楚如何在公式调用中明确引用这些输入?使用 map2 时,公式调用为 ~ .x + .y .但是使用pmap的时候怎么办?

http://r4ds.had.co.nz/lists.html 复制哈德利的例子

library(purrr)
mu <- list(5, 10, -3)
sigma <- list(1, 5, 10)
n <- list(1, 3, 5)

args2 <- list(mean = mu, sd = sigma, n = n)
pmap(args2, rnorm)

如果我想在调用 rnorm 时明确引用输入参数, 我可以用:
pmap(args2, function(mean, sd, n) rnorm(n, mean, sd))

但是说我想用公式方法来做到这一点。我怎么做?例如,这不起作用:
pmap(args2, ~rnorm(n=.n, mean=.mean, sd=.sd))

谢谢!!

最佳答案

您可以使用 with(...)解决这个问题:

pmap(args2, ~with(list(...),rnorm(n, mean, sd)))
# [[1]]
# [1] 2.733528
#
# [[2]]
# [1] 4.0967533 6.4926143 0.6083532
#
# [[3]]
# [1] 1.8836592 -0.2090425 -4.0030168 1.1834931 3.2771316

更多解释在这里: Harnessing .f list names with purrr::pmap

关于R purrr:::pmap:如何按名称引用输入参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41865159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com