问题描述
我正在尝试设置所需的计划,但出现以下错误:
no_cores <- availableCores() - 2
plan(multisession,workers = no_cores,lazy = T,gc = T)
,错误是:
Error in MultisessionFuture(expr = expr,envir = envir,substitute = FALSE,:
argument "expr" is missing,with no default
或:
plan(multisession,gc = T)
Error in tweak.future(function (expr,envir = parent.frame(),substitute = TRUE,:
Future argument 'lazy' must not be tweaked / set via plan()
请告知如何设置workers
/ lazy
计划的gc
,multisession
,multicore
和其他参数。
我的R版本是:
R.Version()
$platform
[1] "x86_64-pc-linux-gnu"
$arch
[1] "x86_64"
$os
[1] "linux-gnu"
$system
[1] "x86_64,linux-gnu"
$status
[1] ""
$major
[1] "4"
$minor
[1] "0.2"
$year
[1] "2020"
$month
[1] "06"
$day
[1] "22"
$`svn rev`
[1] "78730"
$language
[1] "R"
$version.string
[1] "R version 4.0.2 (2020-06-22)"
$nickname
[1] "Taking Off Again"
解决方法
尝试您的示例,我得到第二条错误消息。而且我基本上遵循了给出的建议:您在lazy = T
中设置了参数plan
,这是不允许的。但是,您可以直接在furrr
函数调用中设置此参数:
library(furrr)
no_cores <- availableCores() - 2
plan(multisession,workers = no_cores,gc = T)
future_map(c("hello","world"),~.x,.options = future_options(lazy = TRUE))
[[1]]
[1] "hello"
[[2]]
[1] "world"