Skip to content

how to convert variable name to string?

2 messages · Jinsong Zhao, Peter Dalgaard

#
Hi there,

In the following function:

demo.plot <- function( obj ) plot(1:5, obj, xlab = "x")

Then, I use this function as following:

y <- rnorm(5)
demo.plot(y)

It will produce a plot with ylab = "obj", however, I hope to get a plot 
with ylab = "y".

Is it possible to convert object/variable name y to a string "y", so I 
can set it in demo.plot():

demo.plot <- function( obj ){
    lab.y <- obj.name.2.string(obj) #### I need obj.name.2.string()
    plot(1:5, obj, xlab = "x", ylab = lab.y)
}

I don't know how to define the function obj.name.2.string.

Any suggestion will be greatly appreciated.

Regards,
Jinsong
#
On Aug 14, 2012, at 16:54 , Jinsong Zhao wrote:

            
The standard trick involves deparse(substitute(....)). Take a look inside plot.default.