¿Cómo puede la función tidyr spread tomar variable como una columna de selección?
La función spread de tidyr solo toma nombres de columnas sin comillas. ¿Hay alguna manera de pasar una variable que contenga el nombre de la columna, por ejemplo?
# example using gather()
library("tidyr")
dummy.data <- data.frame("a" = letters[1:25], "B" = LETTERS[1:5], "x" = c(1:25))
dummy.data
var = "x"
dummy.data %>% gather(key, value, var)
Esto da un error
Error: All select() inputs must resolve to integer column positions.
The following do not:
* var
Que se resuelve utilizando la función de coincidencia que proporciona la posición de columna requerida
dummy.data %>% gather(key, value, match(var, names(.)))
Pero este mismo enfoque no funciona para la función de propagación
dummy.data %>% spread(a, match(var, names(.)))
Error: Invalid column specification
Las funciones de recopilación y difusión toman especificaciones de columna diferentes. Recopilar toma un índice de columna, mientras que la difusión no menciona lo que quiere