我试图将参数作为列表传递给方法。我正在创建传递给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)
这是实现方法的明智方法吗?似乎不对。