[R] how to convert variable name to string?

peter dalgaard pdalgd at gmail.com
Tue Aug 14 17:03:20 CEST 2012


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

> 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.

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


> 
> Regards,
> Jinsong
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

-- 
Peter Dalgaard, Professor
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



More information about the R-help mailing list