Ich war lange Zeit Benutzer von reshape2::melt
auf nicht-standardmäßige Weise: Ich führe numerische Experimente durch und erhalte eine Matrix als Ergebnis. Ich schmelze es dann und produziere einige Bilder.
Inspiriert von der Ähnlichkeit zwischen reshape2
und tidyr
, Ich versuche jetzt, identische Ausgabe auf Objekten der Klassenmatrix zu erreichen. Bisher kein Glück:
Beachten Sie, dass melt
intelligent ist und dimnames
behält, wenn sie vorhanden sind. Ich habe gelernt wie es funktioniert , also kann ich dem Methodenversand möglicherweise die folgende Funktion hinzufügen:
Aber die Frage ist, kann ich gather
act auf die gleiche Weise wie melt
in meinem Fall erzwingen? Gibt es eine Kombination von Parametern, die die gewünschte Ausgabe in mat
und mat2
erzeugen würden?
Vielleicht wird es eine bessere Antwort geben, aber in der Zwischenzeit werde ich meine Kommentare in eine Antwort umwandeln:
Zitat aus der README zu "tidyr":
Beachten Sie, dass tidyr für die Verwendung in Verbindung mit dplyr gedacht ist. Daher sollten Sie beide immer laden.
... und von der README zu "dplyr":
dplyr ist die nächste Iteration von plyr, fokussiert auf Werkzeuge zum Arbeiten mit Datenrahmen (daher der
d
im Namen).
Als solche macht es sort Sinn, keine Methoden für Matrizen zu haben.
Da gather
bereits melt
umschließt, wenn Sie wirklich eine matrix
-Methode verwenden möchten, können Sie sich beim Schreiben einer benutzerdefinierten Funktion sparen und einfach so etwas tun: