es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Extrayendo la línea de comandos escrita por el usuario para una función.

Estoy creando la siguiente función:

mymean <- function(x){
  xmean <- mean(x)
  xmean <- as.data.frame(xmean)
  xmean
}

Cuando uso esta función en el siguiente ejemplo:

mymean(mtcars$mpg)

Obtengo este resultado:

   xmean
1 20.09062

¿Cómo puedo obtener el nombre de la variable real (es decir, mpg) ingresada por el usuario en lugar de xmean?
Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para obtener el nombre de la variable actual ingresada por el usuario en lugar de “xmean”, puedes modificar la función agregando las funciones “deparse” y “substitute” de la siguiente manera:

    mymean <- function(x){
      xname <- deparse(substitute(x))
      xmean <- mean(x)
      xmean <- as.data.frame(xmean)
      names(xmean) <- xname
      xmean
    }
    

    Usando la función modificada en el siguiente ejemplo:

    mymean(mtcars$mpg)
    

    Esto producirá la siguiente salida:

          mpg
    1 20.09062
    

    Ahora, el nombre de la variable ingresada por el usuario se muestra como el nombre de la columna en la salida.

Comments are closed.