r - 提取带点传递的数据框的名称

标签 r ellipsis

像这样的函数,可以使用deparse(substitute())组合来提取函数内部的参数名称

names_from_dots <- function(...) {
    deparse(substitute(...))
 }

data(iris)
data(swiss)

names_from_dots(iris)
#[1] "iris"
names_from_dots(swiss)
#[1] "swiss"

提取通过...(点)参数传递的data.frame的名称。

但是如何提取每个传递的多个数据的名称。
names_from_dots(swiss, iris)
[1] "swiss"
names_from_dots(iris, swiss)
[1] "iris"

当这仅返回第一个对象的名称时。

最佳答案

您可以尝试以下操作:

names_from_dots <- function(...) sapply(substitute(list(...))[-1], deparse)

names_from_dots(swiss, iris)
# [1] "swiss" "iris" 

关于r - 提取带点传递的数据框的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35317587/

相关文章:

scheme - 在Racket或Scheme中,有没有办法将省略号语法对象转换为语法对象列表?

html - 使用 CSS,将 "..."用于溢出的多行 block

r - 识别序列中的缺失值/执行两个列表之间的不对称差异

html - flex 元素内的 CSS 省略号

r - 按 M3C 包 : Error in `[.data.frame` (df, neworder2) 进行聚类:选择了未定义的列

r - 将不同长度的向量依次合并成一个矩阵

php - 带有单词边界的特定数字或字符后的省略号

css - 有没有像:is-showing-ellipsis?这样的css选择器

r - 如何计算所选列的行平均值

R 在函数内使用临时选项设置