【问题标题】:R - Fill the arguments of a function in an ellipsisR - 用省略号填充函数的参数
【发布时间】:2016-11-14 14:59:07
【问题描述】:

我有以下功能:

ExampleFunction <- function(ListNumber1, ListNumber2)
{
  OutputData <- list()
  OutputData[[1]] <- rbind.fill(ListNumber1[[1]], ListNumber2[[1]])
  OutputData[[2]] <- rbind.fill(ListNumber1[[2]], ListNumber2[[2]])
  return(OutputData)
}

我想改进这个函数,引入使用可变数量参数的可能性(即我的示例中的列表)。这是尝试执行此操作,但我不知道如何填充 rbind.fill() 的参数。

ExampleFunctionUpgrade <- function(...)
{
  Arguments <- list(...)
  OutputData <- list()
  VarNames <- paste0("List", seq_along(Arguments))
  for (i in 1:length(Arguments))
  {
    assign(VarNames[i], Arguments[[i]])
  }
  OutputData <- rbind.fill(???)
  return(OutputData)
}

【问题讨论】:

    标签: r function ellipsis


    【解决方案1】:

    我会尝试遍历要绑定在一起的lapply 调用的列。

    ExampleFunctionUpgrade <- function(...)
    {
      Arguments <- list(...)
      OutputData <- list()
      for(i in 1:length(Arguments[[1]])) {
        OutputData[[i]] <- rbind.fill(lapply(Arguments, '[[', i))
      }
      return(OutputData)
    }
    

    如果您不喜欢“for 循环”,您可以使用两个 lapply 调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-27
      • 2011-03-09
      • 2019-02-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      • 1970-01-01
      • 2017-03-27
      相关资源
      最近更新 更多