【问题标题】:Is it possible to assign the contents of ... to another variable?是否可以将 ... 的内容分配给另一个变量?
【发布时间】:2019-08-22 08:28:08
【问题描述】:

我正在编写一个需要工作的函数,无论它是否给出了 my_fun(arg1, arg2, arg3,..., argn) 或 my_fun(arg1, list(arg2, arg3,..., argn) 中的参数)) 这可能吗?

我尝试了以下方法(其中 do_stuff 是一个使用列表作为第二个参数的函数),但赋值 input <- ... 不起作用。你能找到替代品吗?

my_fun <- function(arg1,...) {
  if(class(..1)!="list") {  
    input <- list(...)
  } else {
    input <- ...
  }
  return(do_stuff(arg1, input))
}

【问题讨论】:

  • 为什么不明确说明论点?他们为什么要使用...?!
  • ... 允许在函数中调用命名对象。我会在这里使用一个命名列表来检查提供了哪些名称。或者您可以使用missing 来检查函数调用中的参数。
  • 因为我希望它既可以处理作为列表或单独参数给出的输入,也可以处理任意数量的参数。我编辑以澄清这一点
  • ... 的长度是否总是超过 1 个?
  • @RonakShah 不,它可以有任何长度,包括 1。无论如何,我找到了一种让它工作的愚蠢方法。谢谢大家!

标签: r function arguments


【解决方案1】:

问题解决了!

只需使用input &lt;- (...) 而不是input &lt;- ... 就可以了!

【讨论】:

    猜你喜欢
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多