【问题标题】:In R, how to get the input variable name [duplicate]在R中,如何获取输入变量名称[重复]
【发布时间】:2016-09-02 17:47:09
【问题描述】:

代码如下。

  func <- function(x){ 
print( paste(substitute(x)) )
 } ; 
func(x[])

如果我运行 func(x),代码会打印出“x”,但如果我像 func(x[]) 或 func(x$y) 一样运行,则无法打印“x[]”或“x$ y" 正确输出。如何获得正确的输入字符串?谢谢。

类似的例子就像 plot() 函数,当我使用 plot(x$y) 时,ylab 是“x$y”。当我使用 plot(x[]) 时,ylab 是“x[]”。当我使用 plot(1:20) 时,ylab 是“1:20”。

【问题讨论】:

  • print(deparse(substitute(x))) 查看?substitute的详细信息部分

标签: r variables


【解决方案1】:

也使用deparse

func <- function(x){
    deparse(substitute(x))
}

给了

> func(x[1])
[1] "x[1]"
> func(x[])
[1] "x[]"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 2018-10-09
    • 1970-01-01
    相关资源
    最近更新 更多