获取所有参数作为列表

R是否提供了一个对象/函数/方法/关键字来获取所有的函数参数?

使用一个例子: function(a, b="default", ...)将在函数环境中提供ab以及... 是否有类似于list(...)的语句,在结果中也包含ab

或者换一种方式: list(a=a, b=b, ...)的简写,给定function(a, b, ...)

我认为你想要match.call

 tmpfun <- function(a,b,...) { print(as.list(match.call())) print(as.list(match.call(expand.dots=FALSE))) } > tmpfun(a=1, b=2, c=3, d=4) [[1]] tmpfun $a [1] 1 $b [1] 2 $c [1] 3 $d [1] 4 [[1]] tmpfun $a [1] 1 $b [1] 2 $... $...$c [1] 3 $...$d [1] 4 

一个解决scheme是使用:

 tempf <- function(a, b = 2, ...) { argg <- c(as.list(environment()), list(...)) print(argg) } tempf(1, c = 3) $a [1] 1 $b [1] 2 $c [1] 3 

这将创build参数值的命名列表。

尝试argsfunction

什么是meanfunction的论据?

 > args(mean) function (x, ...) NULL 

lm函数怎么样?

  > args(lm) function (formula, data, subset, weights, na.action, method = "qr", model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, contrasts = NULL, offset, ...) NULL 

如果你想得到一个参数列表尝试

 as.list(args(lm)) 

我相信你正在寻找正式的:

 formals(sd) $x $na.rm [1] FALSE 

在这里使用dput给你你在问题中指定的表单:

 dput(formals(sd)) list(x = , na.rm = FALSE) 

请注意,forms不适用于原始函数,只能closures。