¿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?
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 aget()
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 usarget()
puede ser peligroso si no validas adecuadamente la entrada del usuario, ya que puede provocar ataques de inyección.