[R] How to get the name of the first argument in an assignment function?

Gabor Grothendieck ggrothendieck at gmail.com
Thu Jul 27 15:38:15 CEST 2006


The complexity of the function should not matter.

Here is another example of this technique:
http://tolstoy.newcastle.edu.au/R/help/04/06/1430.html

On 7/27/06, Heinz Tuechler <tuechler at gmx.at> wrote:
> At 06:10 27.07.2006 -0400, Gabor Grothendieck wrote:
> >If you are willing to write fu2[Var] <- 3 instead of fu2(Var) <- 3
> >then this workaround may suffice:
> >
> >fu2 <- structure(NA, class = "fu2")
> >"[<-.fu2" <- function(x, ..., value) { print(match.call()[[3]]); fu2 }
> >
> ># test
> >fu2[Var] <- 3  # prints "Var"
> >
> >
> Thank you, Gabor for your response. My example was very reduced, just to
> show the point, but in the way I would like to use it, probably your
> solution may be difficult to apply. Seems, I have to accept that I cannot
> solve it.
>
> Thanks again,
> Heinz
>
> >On 7/27/06, Heinz Tuechler <tuechler at gmx.at> wrote:
> >> Dear All!
> >>
> >> If I pass an object to an assignment function I cannot get it's name by
> >> deparse(substitute(argument)), but I get *tmp* and I found no way to get
> >> the original name, in the example below it should be "va1".
> >> Is there a way?
> >>
> >> Thanks,
> >>
> >> Heinz
> >>
> >> ## example
> >> 'fu1<-' <- function(var, value) {
> >> print(c(name.of.var=deparse(substitute(var))))}
> >> fu1(va1) <- 3
> >>
> >> name.of.var
> >>    "*tmp*"
> >>
> >> ## desired result:
> >> ## name.of.var
> >> ##    "va1"
> >>
> >>
> >>
> >> version
> >>               _
> >> platform       i386-pc-mingw32
> >> arch           i386
> >> os             mingw32
> >> system         i386, mingw32
> >> status         Patched
> >> major          2
> >> minor          3.1
> >> year           2006
> >> month          07
> >> day            23
> >> svn rev        38687
> >> language       R
> >> version.string Version 2.3.1 Patched (2006-07-23 r38687)
> >>
> >> ______________________________________________
> >> R-help at stat.math.ethz.ch 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.
> >>
> >
> >
>
>



More information about the R-help mailing list