4

我发现要将变量名转换为字符串,我会使用deparse(substitute(x))where xis my variable name。但是如果我想在一个 sapply 函数调用中这样做呢?

sapply( myDF, function(x) { hist( x, main=VariableNameAsString ) } )

当我使用 时deparse(substitute(x)),我得到类似X[[1L]]标题的东西。我想要实际的变量名。任何帮助,将不胜感激。

大卫

4

2 回答 2

10

如果您需要名称,请遍历名称,而不是值:

sapply(names(myDF), function(nm) hist(myDF[[nm]], main=nm))

mapply或者,使用or同时遍历名称和值Map

Map(function(name, values) hist(values, main=name),
    names(myDF), myDF)

在大多数情况下,你不应该使用deparse并且substitute除非你正在做元编程(如果你不知道它是什么,你就没有这样做)。

于 2012-09-07T00:59:40.970 回答
0

这是一段对我有用的代码:

deparse(substitute(variable))

于 2021-05-25T21:25:35.227 回答