[R] Assessing the name of an object within an argument

Thomas Mailund mailund at birc.au.dk
Tue Jan 10 10:02:25 CET 2017


 
You can get that using `formals()`.  

my_func <- function(dataset = iris)  
{
  #print(dataset) # here I do not want to print the dataset but the name  
  # of the object - iris in this case - instead

  print(formals()$dataset) # this is what you want
}

This gives you what the arguments were as an alist. It won’t always be a name, of course, but when it is, as in this case, that will be a symbol you can print.

Cheers
	Thomas



On 10 January 2017 at 09:51:55, g.maubach at weinwolf.de (g.maubach at weinwolf.de(mailto:g.maubach at weinwolf.de)) wrote:

> Hi All,
>  
> I have a function like
>  
> my_func <- function(dataset)
> {
> some operation
> }
>  
> Now I would like not only to operate on the dataset (how this is done is
> obvious) but I would like to get the name of the dataset handed over as an
> argument.
>  
> Example:
>  
> my_func <- function(dataset = iris)
> {
> print(dataset) # here I do not want to print the dataset but the name
> of the object - iris in this case - instead
> # quote() does not do the trick cause it prints "dataset" instead of
> "iris"
> # as.name() gives an error saying that the object can not coerced to a
> symbol
> }
>  
> Is there a way to do this?
>  
> Kind regards
>  
> Georg
>  
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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