如何将参数列表传递给R中的方法?

时间:2018-05-14 19:47:21

标签: r methods arguments

我试图将参数作为列表传递给方法。我正在创建传递给data.frame的东西的方法。例如:

dfApply <- function(df, ...) {
  UseMethod("dfApply", df)
}

dfApply.sample <- function(df, size, ...) {
  # Stuff
  df <- sample_frac(df, size = size)
  return(df)
}

现在,如果我调用该函数:

args <- list(size = 0.5)
class(df) <- c("sample", class(df))
df <- dfApply(df, args)

该方法仍然以列表()接收它。

有没有办法传递这样的参数?

修改 如评论中所述,do.call()解决了问题(暂时),但我必须在args中定义每个参数:

args <- list(df = df, size = 0.5)
class(df) <- c("sample", class(df))
df <- do.call(dfApply, args)

这是实现方法的明智方法吗?似乎不对。

0 个答案:

没有答案