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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage