2013-07-09 65 views
3

我有以下功能,其中只有一個參數,dfdf是數據幀:從函數返回數據幀的名稱

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

test_function(mtcars) 

如何從此函數返回數據集的名稱?對於test_function(mtcars)我需要分配字符串mtcarsdf_name

回答

8

您可以使用組合substitute + deparse

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

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

另一種選擇是使用??match.call

返回所有指定參數通過其全名中指定的電話。

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

test_function(mtcars) 
$df 
mtcars