以下代码。
func <- function(x){ print( paste(substitute(x)) ) } ; func(x[])
如果我运行func(x),代码打印“x”输出,但如果我像func(x [])或func(x $ y)一样运行,则无法打印“x []”或“x $”你出去了。如何获得正确的输入字符串?谢谢。
类似的例子就像plot()函数,当我使用plot(x $ y)时,ylab是“x $ y”。当我使用plot(x [])时,ylab是“x []”。当我使用情节(1:20)时,ylab是“1:20”。
答案 0 :(得分:1)
同时使用deparse
。
func <- function(x){
deparse(substitute(x))
}
给出了
> func(x[1])
[1] "x[1]"
> func(x[])
[1] "x[]"