从函数返回数据框的名称

时间:2013-07-09 15:04:25

标签: r

我有以下功能,其中只有一个参数dfdf是数据框:

test_function <- function(df) {
    df_name <- df #get name of dataframe (does not work)
    df_name
  }

test_function(mtcars)

如何从此函数返回数据集的名称?对于test_function(mtcars),我需要将字符串mtcars分配给df_name

2 个答案:

答案 0 :(得分:8)

您可以使用组合substitute + deparse

test_function <- function(df)
    deparse(substitute(df))

test_function(mtcars)
##[1] "mtcars"

答案 1 :(得分:2)

另一种选择是使用??match.call

  

返回一个调用,其中所有指定的参数都由其全名指定。

test_function <- function(df){
  as.list(match.call())[-1]  
}

test_function(mtcars)
$df
mtcars