[R] Getting the real names of variables within functions

adelmaas@musc.edu adelmaas at musc.edu
Mon Sep 20 16:14:11 CEST 2004


It works great now.  Thanks, guys!

Aaron


On 20 ספט 2004, at 10:10, Duncan Murdoch wrote:

> On Mon, 20 Sep 2004 10:00:19 -0400, adelmaas at MUSC.EDU wrote :
>
>> Greetings.
>>
>> These days I find myself writing a lot of functions to handle routine
>> things.  One of these  is a function to create a scatterplot of
>> variables and draw a lowessed line so I can get some idea if there's
>> any relationship between them.
>>
>> lowessed.plot <- function(x, y)
>> {	plot(x, y)
>> 	lines(lowess(x, y))
>> }
>>
>> However, there's a slight problem:  the plot axes come out labeled "x"
>> and "y", which isn't what I want.  I want the plot axes labeled with
>> the names of the variables I passed into lowessed.plot for x and y.  
>> Is
>> there any way to do that?  Thanks in advance for any help anyone can
>> provide.
>
> You could do this with
>
> plot(x, y, xlab=deparse(substitute(x)), ylab=deparse(substitute(y)))
>
> But it's better to add two arguments to the function with those as
> default values, then pass them on to plot(); that way you can change
> the labels if you want.  And add dots for other customization.
>
>
> For example,
>
> lowessed.plot <- function(x, y, xlab=deparse(substitute(x)),
> ylab=deparse(substitute(y)), ...)
> {	plot(x, y, xlab=xlab, ylab=ylab, ...)
> 	lines(lowess(x, y))
> }
>
> Duncan Murdoch
>
-----
Aaron Solomonâ­ (â¬ben Saul Josephâ­) â¬Adelman
E-mailâ­:  â¬adelmaas at musc.edu
Web siteâ­:  â¬httpâ­://â¬people.musc.eduâ­/â¬~adelmaasâ­/â¬
AOL Instant Messengerâ­ & â¬Yahooâ­! â¬Messenger:  â¬Hiergargo
AIM chat-room (preferred):  Adelmania




More information about the R-help mailing list