2017-08-23 1 views
1

fand ich diesen Ausschnitt aus Arbeits Code hatte:entnehme tidyr Compains über das Objekt nicht

number_of_columns <- dim(resultsper)[2] 
resultsper <- resultsper %>% gather(c(5:number_of_columns), key = "Scenario", value = "Value") 

Diese verwendet funktionieren, aber jetzt bekomme ich die Meldung

Fehler bei FUN (X [[i]], ...): Objekt 'Anzahl_von_Spalten' nicht gefunden.

Wenn ich

resultsper <- resultsper %>% gather <- (c(5:11), key = "Scenario", value = "Value") 

laufen Es funktioniert wieder, aber das ist nicht das, was ich will. Ich habe versucht, sammeln_ aber das funktioniert auch nicht. Es könnte ein Update von tidyr sein, aber ich habe noch keine Lösung gefunden.

Vielen Dank im Voraus

Renger

Antwort

1

Ab tidyr 0.7.0, die Auswahl Regeln strenger sind. Eine Übersicht über alle Änderungen in Versino 0.7.0 finden Sie in this article.

Auf den Punkt gebracht, bei Verwendung eines Kontext Ausdruck (das heißt, unter Verwendung von Informationen außerhalb des Datensatzes) müssen Sie auf explizit sein, wo die Objekte zu finden, indem die quasiquotation Operator !! verwenden.

Hier ist ein Beispiel, wie das in Ihrem Szenario aussehen würde.

number_of_columns = ncol(mtcars) 

mtcars %>% gather("Scenario", "Value", !! 5:number_of_columns) 
Verwandte Themen