【问题标题】:Advanced R function call高级 R 函数调用
【发布时间】:2021-12-02 09:07:30
【问题描述】:

所有,这可能听起来很愚蠢,但我需要了解一些遗留的 R 代码,而我对此一无所知。我希望有人能给我一些关于下面发生的事情的提示:

g = if (calc.tstat){
function(...) FUN(...)} else 
{function(...) FUN(..1)}

这 3 行是下面调用的函数 (famamacb) 的一部分:

temp <- famamacb(include = include, 
               function(coef) list(tseries.tstat = apply(coef,2, cumtstat, na.rm = T, i = 
match(rownames(coef), rownames(time.weight)))))

我的理解是 FUN(...) 指的是函数(coef),它生成一个列表。如果我错了,有人可以纠正我吗?但是 FUN(..1) 会做什么呢?

非常感谢!

【问题讨论】:

    标签: r function


    【解决方案1】:

    ..1 指的是通过省略号参数提供的可变数量参数中的 first 元素(有关详细信息,另请参阅help("..."))。

    这是一个最小的示例,显示..2 如何引用通过... 提供的参数中的second 元素。

    f <- function (x, ...) return(c(x, list(..2)))
    
    f("zero", "one", "two")
    #[[1]]
    #[1] "zero"
    #
    #[[2]]
    #[1] "two"
    

    【讨论】:

    • 嗨,Maurits,非常感谢您的热情回复,非常感谢!最美好的祝愿
    猜你喜欢
    • 1970-01-01
    • 2011-05-30
    • 2014-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 2021-08-10
    • 1970-01-01
    相关资源
    最近更新 更多