如何在函数中创建计划
How to create a plan in a function
我想使用一个函数来创建一个 drake 计划。见 MWE:
plan_func <- function(param) {
drake::drake_plan(
myparam = param
)
}
我愿意
plan_func("a")
给予
# A tibble: 1 x 2
target command
<chr> <expr_lst>
1 myparam "a"
但是,它给出了
> plan_func("a")
# A tibble: 1 x 2
target command
<chr> <expr_lst>
1 myparam param
感觉是NSE的问题。有人可以友好地提示如何正确执行此操作吗?
提前致谢!
drake_plan()
支持tidy evaluation,所以可以在plan里写!!param
library(drake)
plan_func <- function(param) {
drake::drake_plan(
myparam = !!param
)
}
plan_func("a")
#> # A tibble: 1 x 2
#> target command
#> <chr> <expr_lst>
#> 1 myparam "a"
由 reprex package (v0.3.0)
于 2020 年 6 月 2 日创建
像 https://github.com/ropensci/drake/issues/1251 这样更棘手的情况可能需要您关闭 drake_plan()
的 tidy_eval
和 transform
参数。
编辑
要将多个参数拼接成一个函数,请使用三连击 (!!!) 而不是连击 (!!):
library(drake)
plan_func <- function(param) {
drake_plan(
myparam = f(!!param)
)
}
plan_func(c("a", "b"))
#> # A tibble: 1 x 2
#> target command
#> <chr> <expr>
#> 1 myparam f(c("a", "b"))
plan_func <- function(param) {
drake_plan(
myparam = f(!!!param)
)
}
plan_func(c("a", "b"))
#> # A tibble: 1 x 2
#> target command
#> <chr> <expr>
#> 1 myparam f("a", "b")
由 reprex package (v0.3.0)
于 2020 年 6 月 2 日创建
我想使用一个函数来创建一个 drake 计划。见 MWE:
plan_func <- function(param) {
drake::drake_plan(
myparam = param
)
}
我愿意
plan_func("a")
给予
# A tibble: 1 x 2
target command
<chr> <expr_lst>
1 myparam "a"
但是,它给出了
> plan_func("a")
# A tibble: 1 x 2
target command
<chr> <expr_lst>
1 myparam param
感觉是NSE的问题。有人可以友好地提示如何正确执行此操作吗?
提前致谢!
drake_plan()
支持tidy evaluation,所以可以在plan里写!!param
library(drake)
plan_func <- function(param) {
drake::drake_plan(
myparam = !!param
)
}
plan_func("a")
#> # A tibble: 1 x 2
#> target command
#> <chr> <expr_lst>
#> 1 myparam "a"
由 reprex package (v0.3.0)
于 2020 年 6 月 2 日创建像 https://github.com/ropensci/drake/issues/1251 这样更棘手的情况可能需要您关闭 drake_plan()
的 tidy_eval
和 transform
参数。
编辑
要将多个参数拼接成一个函数,请使用三连击 (!!!) 而不是连击 (!!):
library(drake)
plan_func <- function(param) {
drake_plan(
myparam = f(!!param)
)
}
plan_func(c("a", "b"))
#> # A tibble: 1 x 2
#> target command
#> <chr> <expr>
#> 1 myparam f(c("a", "b"))
plan_func <- function(param) {
drake_plan(
myparam = f(!!!param)
)
}
plan_func(c("a", "b"))
#> # A tibble: 1 x 2
#> target command
#> <chr> <expr>
#> 1 myparam f("a", "b")
由 reprex package (v0.3.0)
于 2020 年 6 月 2 日创建