How to convert variable (object) name into String

neversaint picture neversaint · Jan 29, 2013 · Viewed 102.4k times · Source

I have the following data frame with variable name "foo";

 > foo <-c(3,4);

What I want to do is to convert "foo" into a string. So that in a function I don't have to recreate another extra variables:

   output <- myfunc(foo)
   myfunc <- function(v1) {
     # do something with v1
     # so that it prints "FOO" when 
     # this function is called 
     #
     # instead of the values (3,4)
     return ()
   }

Answer

Sven Hohenstein picture Sven Hohenstein · Jan 29, 2013

You can use deparse and substitute to get the name of a function argument:

myfunc <- function(v1) {
  deparse(substitute(v1))
}

myfunc(foo)
[1] "foo"