gpt4 book ai didi

r - 是否可以从头开始创建省略号 (`...` ) 对象?

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

我找到了使用这样的伪代码将缺少的参数传递给具有默认值的函数的解决方案:

wrapperfX<-function(x)
{
...<-if(missing(x){
list()
}else{
list(x=x)
}
targetf(...)
}

R中允许这些东西有多少?

最佳答案

您正在寻找的技巧可能是使用 do.call它允许您调用函数并将参数指定为列表:

wrapperfX <- function(x){
dots<-if(missing(x)){
list()
}else{
list(x=x)
}
do.call(targetf,dots)
}

如果列表元素有名称,这也允许您指定命名参数。
> do.call(log,list(x=10,base=10))
[1] 1

相当于
log(x=10,base=10)

如果您正在调用的函数是用点-点-点表示的,那么参数的匹配方式将与您将它们放入函数调用中的方式相同。

[您在 missing((x){ 中也有一个缺失的括号。 :)]

关于r - 是否可以从头开始创建省略号 (`...` ) 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18671118/

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