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.

¿Cómo cambiar el nombre de un vector en una función?

Quiero realizar salidas gráficas como diagramas de caja o gráficos utilizando una función. Así puedo trazar varios dataframes, cambiando solo el nombre de la columna cada vez.

Por ejemplo:

boxplot_func = función(columna){
boxplot(dataframe1$columna, dataframe2$columna)}

boxplot_func(mean)
boxplot_func(max)
etc.

Pero R no parece computar la media o el máximo en la función. ¿Conoce alguna forma de hacerlo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes usar la función get() en R para pasar el nombre de la columna como una cadena y luego convertirla en una variable dentro de la función. Aquí está una versión actualizada de tu función:

    “`{r}
    boxplot_func = function(col_name){
    column1 = get(paste0(“dataframe1$”, col_name))
    column2 = get(paste0(“dataframe2$”, col_name))
    boxplot(column1, column2)
    }

    boxplot_func(“mean”)
    boxplot_func(“max”)
    “`

    En esta función actualizada, usamos paste0() para concatenar el nombre del dataframe y el nombre de la columna en una cadena. Luego pasamos esta cadena a get() para recuperar la columna como una variable dentro de la función. De esta manera, podemos pasar el nombre de la columna como una cadena y convertirla en una variable dentro de la función. Ten en cuenta que usar get() puede ser peligroso si no validas adecuadamente la entrada del usuario, ya que puede provocar ataques de inyección.

Comments are closed.