gpt4 book ai didi

r - 有选择地为 R 中的函数提供参数的优雅方式?

转载 作者:行者123 更新时间:2023-12-04 11:04:44 25 4
gpt4 key购买 nike

举例来说,假设我有一个带有几个可选参数的函数:

result <- function_with_several_optional_arguments(a=1, b=2, c=3)

取决于变量 foo ,我想要么供应 d=1或者让它采用我不知道的默认值。

我可以
if (foo) {
result <- function_with_several_optional_arguments(a=1, b=2, c=3, d=1)
} else {
result <- function_with_several_optional_arguments(a=1, b=2, c=3)
}

但这很快会导致大量代码重复 - 特别是如果我想有条件地提供许多参数。

如何有条件地提供参数或保留默认值?

理想情况下我会做类似的事情
result <- function_with_several_optional_arguments(a=1, b=2, c=3, ifelse(foo, d=1))

但我不知道是否有类似的支持。

最佳答案

使用 do.call :

Args <- list(a = 1, b = 2, c = 3)
if (foo) Args$d <- 1
do.call("fun", Args)

第二行也可以写成: Args$d <- if (foo) 1

关于r - 有选择地为 R 中的函数提供参数的优雅方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29291652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com