根据函数 R 中的 dot dot 获取变量参数的名称(解析)

2024-04-30

我正在创建一个基于一些虚拟变量的自动绘图仪。我这样设置:

plotter <- function(...) { }

将绘制我喂它的所有假人。

但是,我希望它能够向绘图添加标签,即变量名称。 我确实知道

deparse(substitute(variablename))

将产生

"variablename"

这是一个开始,但是在有多个参数的情况下我该如何做到这一点?有可能吗?有解决方法吗?


names(list(...))将为您提供一个字符向量,其中包含已被吸收的所提供参数的名称...:

plotter <- function(...) {names(list(...))}
plotter(x=1:4, y=11:14)
# [1] "x" "y"

或者,如果您想传递未命名的参数,请尝试以下操作(它扩展了 @baptiste 现已删除的答案):

plotter <- function(..., pch=16, col="red") {
    nms <- setdiff(as.character(match.call(expand.dots=TRUE)), 
                   as.character(match.call(expand.dots=FALSE)))
    nms
}

x <- 1:4
y <- 1:14
plotter(x, y, col="green")
# [1] "x" "y"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据函数 R 中的 dot dot 获取变量参数的名称(解析) 的相关文章

随机推荐