studio seleccionar mutate funcion filtrar filas datos data agrupar r dplyr

seleccionar - Introduzca nuevos nombres de columna como cadena en la función de cambio de nombre de dplyr



funcion mutate en r (1)

Creo que esto es lo que estabas buscando. Es el uso de rename_ como sugirió @Henrik, pero el argumento tiene un nombre interesante, digamos,

> myFunc <- function(df, col){ + new <- paste0(col, ''_1'') + out <- dplyr::rename_(df, .dots=setNames(list(col), new)) + return(out) + } > myFunc(data.frame(x=c(1,2,3)), "x") x_1 1 1 2 2 3 3 >

Tenga en cuenta el uso de setNames para usar el valor de new como nombre en la lista.

Las funciones de cambio de nombre de dplyr requieren que el nuevo nombre de columna se pase como nombres de variables sin comillas. Sin embargo, tengo una función en la que el nombre de la columna se construye pegando una cadena en un argumento pasado y también lo es una cadena de caracteres.

Por ejemplo digamos que tenía esta función.

myFunc <- function(df, col){ new <- paste0(col, ''_1'') out <- dplyr::rename(df, new = old) return(out) }

Si corro esto

df <- data.frame(a = 1:3, old = 4:6) myFunc(df, ''x'')

yo obtengo

a new 1 1 4 2 2 5 3 3 6

Mientras que quiero que la columna ''nueva'' sea el nombre de la cadena que construí (''x_1''), es decir

a x_1 1 1 4 2 2 5 3 3 6

¿Hay alguna forma de hacer esto?