R函数,访问参数名称

时间:2015-07-13 20:27:27

标签: r function arguments

我有以下代码:

fn <- 'George'
mn <- 'Walker'
ln <- 'Bush'
f <- function(...) { print(list(...)) }

当我调用它时,它会产生以下输出:

f(fn,mn,ln)
  [[1]]
  [1] "George"

  [[2]]
  [1] "Walker"

  [[3]]
  [1] "Bush"

假设我想要类似的东西(注意参数名称):

fn:George
mn:Walker
ln:Bush

问题:我知道如何在函数中获取参数的VALUES。如何在函数内获取参数的名称?

谢谢,CC。

1 个答案:

答案 0 :(得分:8)

您可以使用

f <- function(...) {
     nm1 <- as.list(match.call()[-1])
     val <- list(...)
   cat(paste(nm1, val, sep=":", collapse="\n"),'\n') }
f(fn,mn,ln)
#fn:George
#mn:Walker
#ln:Bush