150 votes

Comment convertir le nom d'une variable (objet) en chaîne (String)

J'ai le cadre de données suivant avec un nom de variable "foo" ;

 > foo <-c(3,4);

Ce que je veux faire, c'est convertir "foo" en une chaîne de caractères. De sorte que dans une fonction je n'ai pas à recréer d'autres variables supplémentaires :

   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 ()
   }

291voto

Sven Hohenstein Points 36055

Vous pouvez utiliser deparse y substitute pour obtenir le nom d'un argument de fonction :

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

myfunc(foo)
[1] "foo"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X