Ich kann in R nicht etwas finden, was die Wirkung eines Undo-Befehls hat (weder in Eine Einführung in R noch in R in Kürze). Ich interessiere mich besonders für das Rückgängigmachen / Löschen, wenn ich mit interaktiven Graphen arbeite.
Welche Ansätze schlagen Sie vor?
Sie sollten einen anderen Ansatz wählen, der zu reproduzierbarer Arbeit führt:
All dies funktioniert enorm gut in ESS , weshalb viele erfahrene R Benutzern gefällt diese Umgebung. Aber Redakteure sind eine subjektive und persönliche Wahl; Andere Leute mögen Eclipse mit StatET besser. Es gibt auch andere Lösungen für Mac OS X und Windows, und all dies wurde schon unzählige Male hier auf SO und an anderen Orten wie den R-Listen diskutiert.
Im Allgemeinen nehme ich Dirks Strategie an. Sie sollten darauf achten, dass Ihr Code vollständig reproduzierbar ist, wie Sie Ihre Rohdaten in Output umgewandelt haben.
Wenn Sie jedoch komplexen Code haben, kann es sehr lange dauern, alles neu zu starten. Ich hatte Code, der über 30 Minuten benötigt, um die Daten zu verarbeiten (d. H. Importieren, transformieren, zusammenführen usw.). In diesen Fällen würde eine einzelne datenzerstörende Codezeile erfordern, dass ich 30 Minuten warten muss, um meinen Arbeitsbereich wiederherzustellen. Unter datenvernichtendem Code verstehe ich Dinge wie:
x <- merge(x, y)
df$x <- df$x^2
z. B., fusioniert, ersetzt eine vorhandene Variable durch eine Transformation, entfernt Zeilen oder Spalten und so weiter. In diesen Fällen ist es einfach, besonders wenn man zuerst lernt, dass R einen Fehler macht.
Um zu vermeiden, dass ich diese 30 Minuten warten muss, nehme ich mehrere Strategien an:
temp <- merge(x, y);
ausführen, überprüfen, ob es funktioniert hat str(temp); head(temp); tail(temp)
und wenn alles gut aussieht x <- merge(x, y)
save(x, y, z , file = 'backup.Rdata')
Wenn ich einen Fehler mache, muss ich nur diese Objekte neu laden. df$x <- NULL
ist eine praktische Methode zum Entfernen einer Variablen in einem Datenrahmen, den Sie nicht erstellen wollten Aber am Ende laufe ich immer noch den ganzen Code von Grund auf, um zu überprüfen, ob das Ergebnis reproduzierbar ist.
Tags und Links r