R函数,访问参数名称

ccc*_*807 3 arguments r function

我有以下代码:

fn <- 'George'
mn <- 'Walker'
ln <- 'Bush'
f <- function(...) { print(list(...)) }
Run Code Online (Sandbox Code Playgroud)

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

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

  [[2]]
  [1] "Walker"

  [[3]]
  [1] "Bush"
Run Code Online (Sandbox Code Playgroud)

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

fn:George
mn:Walker
ln:Bush
Run Code Online (Sandbox Code Playgroud)

问题:我知道如何在函数中获取参数的VALUES.如何在函数内获取参数的NAMES?

谢谢,CC.

akr*_*run 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 
Run Code Online (Sandbox Code Playgroud)

  • @ user1483288在查看您的个人资料时,发现您尚未接受任何问题的解决方案.如果可行,最好接受最佳解决方案(如果有多个答案).它也会提高你的声誉. (3认同)