小编sta*_*101的帖子

将 mutate 与 map2 和 exec 一起使用,而不是 invoke_map

“R for Data Science”中的这个例子使用了invoke_map现在已停用。

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))
Run Code Online (Sandbox Code Playgroud)

如果我分别提取列,那么它适用于map2和exec

map2(sim$f, sim$params, function(fn, args) exec(fn, !!!args, n = 10))
Run Code Online (Sandbox Code Playgroud)

但是,我不能让mutate工作与map2和exec

sim %>% 
  mutate(sim = map2(f, params, function(fn, args) exec(fn, !!!args, n = 10)))
Run Code Online (Sandbox Code Playgroud)

我收到错误“错误:无法拼接类型闭包的对象,因为它不是向量”

有人能帮忙吗?

r dplyr purrr tidyverse rlang

5
推荐指数
1
解决办法
93
查看次数

标签 统计

dplyr ×1

purrr ×1

r ×1

rlang ×1

tidyverse ×1