[R] name of the variable that will contain the result of a function

Gabor Grothendieck ggrothendieck at gmail.com
Thu Jun 7 03:34:48 CEST 2007


Don't think you can do that but you could respecify your function
so that the assigned variable must appear as the first argument:

foo <- function(y, arg) {
	y <- substitute(y)
	if (is.name(y)) assign(deparse(y), arg+1, parent.frame())
	else cat("not assigned\n")
	invisible()
}

if (exists("zz")) rm(zz)
foo(zz, 3)
zz
foo(zz, 4)
zz

xx <- foo(zz, 99)
xx
zz
foo(0, 99)
foo(x+1, 99)


On 6/6/07, Benilton Carvalho <bcarvalh at jhsph.edu> wrote:
> Hi everyone,
>
> say I have a function called 'foo', which takes the argument arg1.
>
> Is there any mechanism that I can use to "learn" about the variable
> where foo(arg1) is going to be stored?
>
> For example:
>
> x <- foo(arg1)
>
> so, inside foo() I'd like to be able to get the string "x".
>
> if,
>
> foo(arg1)
>
> was used insted, I'd like to get NA.
>
> thank you very much,
>
> b
>
>
>
>
>
>
> --
> Benilton Carvalho
> PhD Candidate
> Department of Biostatistics
> Bloomberg School of Public Health
> Johns Hopkins University
> bcarvalh at jhsph.edu
>
> ______________________________________________
> 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