我正在使用future_map创建几个绘图,我在其中迭代变量列表,并将每个变量的png文件输出/保存到文件夹中。因此,没有需要在控制台或"plot“窗格中显示的输出。
函数的绘图部分:
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)}如何映射函数:
plan(multiprocess(workers = 10))
future_map(names_list,
~check_dists(df_lips_imputed, .x, "doc/distributions/testing2/"),
verbose = FALSE)但是,在创建所有文件后,我可以看到它们在文件夹中,这是缓慢打印的(需要一段时间,大约1k次迭代):
[[1]]
[[2]]
[[3]]
...有人知道如何抑制这种输出吗?
非常感谢!
发布于 2020-03-16 22:59:37
如果使用以下命令安装furrr的开发版本
devtools::install_github("DavisVaughan/furrr")然后,您可以使用future_walk,它的行为类似于walk与map。使用walk时,该函数会产生副作用,因此返回值就是输入。
发布于 2021-11-10 23:12:04
我也有同样的问题。我不确定这是否会改变最后打印列表元素所需的时间,但如果您将future_map调用保存为一个一次性变量,它会将输出保存在该变量中,而不是打印输出并阻塞您的控制台或日志文件:
x <- future_map(names_list,
~check_dists(df_lips_imputed, .x, "doc/distributions/testing2/"),
verbose = FALSE)https://stackoverflow.com/questions/60670794
复制相似问题