首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >完成后停止furrr::future_map打印迭代

完成后停止furrr::future_map打印迭代
EN

Stack Overflow用户
提问于 2020-03-13 20:50:14
回答 2查看 363关注 0票数 0

我正在使用future_map创建几个绘图,我在其中迭代变量列表,并将每个变量的png文件输出/保存到文件夹中。因此,没有需要在控制台或"plot“窗格中显示的输出。

函数的绘图部分:

代码语言:javascript
复制
  ggplot(aes(sample = value,
               color = key)) +
    stat_qq(alpha = 0.8, size = 0.5) +
    theme_light() +
    theme(legend.position = "none")  +
    stat_qq_line() +
    facet_wrap(~key,
               ncol = 4) +
    ggtitle(.var) +
    ggsave(filename = here::here(paste0(.path,
                                        .var,
                                        ".png")),
           units = "cm",
           width = 25,
           height = 10)}

如何映射函数:

代码语言:javascript
复制
plan(multiprocess(workers = 10))
future_map(names_list,
           ~check_dists(df_lips_imputed, .x, "doc/distributions/testing2/"),
           verbose = FALSE)

但是,在创建所有文件后,我可以看到它们在文件夹中,这是缓慢打印的(需要一段时间,大约1k次迭代):

代码语言:javascript
复制
[[1]]

[[2]]

[[3]]

...

有人知道如何抑制这种输出吗?

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2020-03-16 22:59:37

如果使用以下命令安装furrr的开发版本

代码语言:javascript
复制
devtools::install_github("DavisVaughan/furrr")

然后,您可以使用future_walk,它的行为类似于walkmap。使用walk时,该函数会产生副作用,因此返回值就是输入。

票数 0
EN

Stack Overflow用户

发布于 2021-11-10 23:12:04

我也有同样的问题。我不确定这是否会改变最后打印列表元素所需的时间,但如果您将future_map调用保存为一个一次性变量,它会将输出保存在该变量中,而不是打印输出并阻塞您的控制台或日志文件:

代码语言:javascript
复制
x <- future_map(names_list,
                ~check_dists(df_lips_imputed, .x, "doc/distributions/testing2/"),
                verbose = FALSE)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60670794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档