Ich habe in eine R-Konsole verschiedene Arten von Objekten geladen. Ich kann sie alle mit entfernen
rm(list=ls())
oder entfernen Sie nur die Funktionen (aber nicht die Variablen) mit
rm(list=lsf.str())
Meine Frage ist: Gibt es eine Möglichkeit, alle Variablen außer den Funktionen zu entfernen?
rm(list=setdiff(ls(all.names=TRUE), lsf.str(all.names=TRUE)))
.
Um zu sehen, wovon ich spreche, versuchen Sie.j <- 5; ls(); ls(all.names=TRUE)
Die
setdiff
Antwort ist nett. Ich dachte nur, ich würde diese verwandte Funktion posten, die ich vor einiger Zeit geschrieben habe. Seine Nützlichkeit liegt beim Leser :-).quelle
ls.str()
den jedochmode
eher das als dastypeof
von Objekten getestet wird . (Nebenbei bemerkt, ich werde verdammt sein, wenn ich den Unterschied zwischen diesen beiden aus ihrer Dokumentation herausfinden kann).Mit dem folgenden Befehl können Sie ALLE Variablen löschen. Seien Sie vorsichtig, da Sie Ihre Variablen nicht zurückerhalten können.
quelle
Hier ist eine ziemlich praktische Funktion, die ich irgendwo aufgegriffen und ein wenig angepasst habe. Könnte schön sein, im Verzeichnis zu bleiben.
quelle
Ich habe dies geschrieben, um alle Objekte außer Funktionen aus der aktuellen Umgebung zu entfernen (die verwendete Programmiersprache ist R mit IDE R-Studio):
Anmerkungen-
Das Argument "list" in rm (list =) muss ein Zeichenvektor sein.
Der Name eines Objekts an Position i der aktuellen Umgebung wird von ls () [i] und das Objekt selbst von get (ls () [i]) zurückgegeben. Daher wird die Klasse eines Objekts von der Klasse zurückgegeben (get (ls () [i]))
quelle