¿Cuál es la mejor manera de asignar a múltiples columnas usando data.table
? Por ejemplo:
f <- function(x) {c("hi", "hello")}
x <- data.table(id = 1:10)
Me gustaría hacer algo como esto (por supuesto, esta sintaxis es incorrecta):
x[ , (col1, col2) := f(), by = "id"]
Y para extender eso, puedo tener muchas columnas con nombres almacenados en una variable (digamos col_names
) y me gustaría hacer:
x[ , col_names := another_f(), by = "id", with = FALSE]
¿Cuál es la forma correcta de hacer algo como esto?
1
Parece que se ha respondido: stackoverflow.com/questions/11308754/…
—
Alex
Alex, esa respuesta está cerca, pero no parece funcionar en combinación con
—
Matt Dowle
by
como @Christoph_J es correcto decir. Enlace a su pregunta agregada al FR # 2120 "Elimine la necesidad con = FALSO para LHS de: =", para que no se olvide de volver a visitar.
Para ser claros,
—
smci
f()
es una función que devuelve múltiples valores, uno para cada una de sus columnas.