Я хотел бы создать новый столбец в data.frame, используя dplyr::mutate
, используя пользовательскую функцию, аргумент которой является вектором имен столбцов data.frame, но я получил следующий вывод:
customFun <- function(col.vec) {
paste0(gsub("\\s", "_", col.vec), collapse = "-")
}
df <- data.frame(A = c("x 1", "x", "x w"), B = c("E", "D", "2 w"), stringsAsFactors = FALSE)
df %>%
mutate(C = customFun(c(A, B)))
A B C
1 x 1 E x_1-x-x_w-E-D-2_w
2 x D x_1-x-x_w-E-D-2_w
3 x w 2 w x_1-x-x_w-E-D-2_w
вместо:
data.table::data.table(df)[, C := customFun(c(A, B)), by = .(A, B)]
A B C
1: x 1 E x_1-E
2: x D x-D
3: x w 2 w x_w-2_w
Этого можно достичь разными способами, но меня интересует только решение dplyr
.Спасибо за вашу помощь.