Wie kann die Spread-Funktion geändert werden?
ie Spread-Funktion von @ tidyr akzeptiert nur Spaltennamen ohne Anführungszeichen. Gibt es eine Möglichkeit, wie ich eine Variable übergeben kann, die den Spaltennamen für zB @ enthäl
# 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)
Dies gibt einen Fehler
Error: All select() inputs must resolve to integer column positions.
The following do not:
* var
Was mit der Match-Funktion gelöst wird, die die gewünschte Spaltenposition angibt
dummy.data %>% gather(key, value, match(var, names(.)))
Aber dieser Ansatz funktioniert nicht für die Spread-Funktion
dummy.data %>% spread(a, match(var, names(.)))
Error: Invalid column specification
Die Funktionen zum Sammeln und Verteilen verwenden unterschiedliche Spaltenspezifikationen. sammeln nimmt einen Spaltenindex, während verbreiten nicht erwähnt, was es will