Ich weiß, dass ich ls () und rm () verwenden kann, um Objekte in meiner Umgebung zu sehen und zu entfernen.
Wenn Sie jedoch mit "alten" .RData-Dateien arbeiten, müssen Sie manchmal eine Umgebung auswählen, um herauszufinden, was Sie behalten und was Sie weglassen müssen.
Was ich gerne machen würde, ist eine GUI-ähnliche Schnittstelle zu haben, die mir erlaubt, die Objekte zu sehen, sie zu sortieren (zum Beispiel nach Größe) und die zu entfernen, die ich nicht brauche (zum Beispiel durch eine Check-Box-Schnittstelle). Da ich mir vorstelle, dass ein solches System derzeit nicht in R implementiert ist, gibt es welche Möglichkeiten? Was verwenden Sie zum Löschen alter .RData-Dateien?
Danke,
Tal
Vielleicht möchten Sie sich das RGtk2 -Paket ansehen. Sie können sehr einfach eine Schnittstelle mit Glade Interface Designer erstellen und dann die gewünschten R-Befehle anhängen.
Wenn Sie einen guten Ausgangspunkt haben möchten, um Ideen zur Verwendung von RGtk2
zu "stehlen", installieren Sie das Paket rattle
und führen Sie rattle();
aus. Dann schau dir den Quellcode an und fange an, deine eigene Schnittstelle zu erstellen:)
Ich mag es ausprobieren und sehen, ob ich etwas Einfaches herausbringen kann.
EDIT: Das ist ein schneller und dreckiger Code, mit dem Sie spielen können. Das große Problem dabei ist, dass aus irgendeinem Grund die rm
Anweisung nicht ausgeführt wird, aber ich bin nicht sicher warum ... Ich weiß, dass es die zentrale Anweisung ist, aber zumindest funktioniert die Schnittstelle! : D
TODO:
rm
work remObjEnv
Umgebung. Es sollte nicht in der aktuellen Variable aufgeführt sein und sollte entfernt werden, wenn das Fenster geschlossen wird Genießen
%Vor% Ich erstelle nie .RData
Dateien. Wenn Sie reproduzierbare Forschung betreiben (und Sie sollten es sein!), Sollten Sie in der Lage sein, in R-Dateien zu suchen, um von Eingabedateien zu allen Ausgaben zu gelangen.
Wenn Sie Operationen haben, die lange dauern, ist es sinnvoll, sie zwischenzuspeichern. Wenn Sie oft ein Konstrukt wie:
verwenden %Vor%Damit können Sie schnell aus zwischengespeicherten Dateien arbeiten, und wenn Sie von Grund auf neu berechnen müssen, können Sie einfach alle rdata-Dateien in Ihrem Arbeitsverzeichnis löschen.
Grundlegende Lösung ist, Ihre Daten zu laden, zu entfernen, was Sie nicht wollen und als neue, saubere Daten zu speichern.
Eine andere Möglichkeit, diese Situation zu umgehen, besteht darin, geladene RData zu kontrollieren, indem Sie sie in die eigene Umgebung laden
%Vor%Jetzt können Sie sehen, was sich darin befindet
%Vor%Dann haben Sie mehrere Möglichkeiten:
save(A, B, file="clean.RData", envir=sandbox)
rm(x, z, u, envir=sandbox)
sandbox
Ich mache normalerweise etwas Ähnliches wie die dritte Option. Laden Sie meine Daten, führen Sie einige Überprüfungen durch, transformieren Sie die endgültigen Daten in den globalen Arbeitsbereich und entfernen Sie die Umgebungen.
Sie können immer implementieren, was Sie wollen. Also
vars <- load("some_old.RData")
vars_size <- sapply(vars, function(x) object.size(get(x)))
vars <- vars[order(vars_size, decreasing=TRUE)]
vars_size <- vars_size [order(vars_size, decreasing=TRUE)]
vars_with_size <- paste(vars,vars_size)
vars_to_save <- select.list(vars_with_size, multiple=TRUE)
rm(vars[!vars_with_size%in%vars_to_save])
Zur netten Form der Objektgröße verwende ich eine Lösung basierend auf getAnywhere(print.object_size)
Dann in 4. kann man paste(vars, pretty_size(vars_size))
Sobald Sie herausgefunden haben, was Sie behalten möchten, können Sie die Funktion -keep- aus dem Paket gdata verwenden, was der Name vermuten lässt.
%Vor%Siehe help (keep) für Details zu den Optionen -all- und -sure-.
%Vor%Diese Funktion ist so nützlich, dass ich überrascht bin, dass sie nicht Teil von R selbst ist.
Das OS X gui hat so etwas, es heißt Workspace Browser. Ziemlich praktisch.
Ich habe mir auch eine Schnittstelle gewünscht, die die Sitzungsabhängigkeit zwischen Objekten anzeigt, d. h. wenn ich von einem Plot () aus anfange und rückwärts arbeite, um alle Objekte zu finden, mit denen er erstellt wurde. Dies würde erfordern, den Verlauf zu analysieren.
Tags und Links r