我发现要将变量名转换为字符串,我会使用deparse(substitute(x))
,其中x
是我的变量名。但是如果我想在一个sapply函数调用中这样做呢?
sapply( myDF, function(x) { hist( x, main=VariableNameAsString ) } )
当我使用deparse(substitute(x))
时,我会得到类似X[[1L]]
的标题。我想有实际的变量名称。任何帮助将不胜感激。
大卫
答案 0 :(得分:10)
如果您需要名称,则迭代名称,而不是值:
sapply(names(myDF), function(nm) hist(myDF[[nm]], main=nm))
或者,使用mapply
或Map
同时迭代名称和值:
Map(function(name, values) hist(values, main=name),
names(myDF), myDF)
在大多数情况下,你不应该使用deparse
和substitute
,除非你正在进行元编程(如果你不知道它是什么,你就不会这样做)。< / p>
答案 1 :(得分:0)
这是一段对我有用的代码:
deparse(substitute(variable))