我有以下功能,其中只有一个参数df
。 df
是数据框:
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
。
答案 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