Mam obszar roboczy z wieloma obiektami i chciałbym usunąć wszystkie oprócz jednego. Idealnie chciałbym uniknąć pisania rm(obj.1, obj.2... obj.n)
. Czy można to wskazać remove all objects but these ones
?
220
Oto prosty konstrukt, który to zrobi, używając setdiff
:
rm(list=setdiff(ls(), "x"))
I pełny przykład. Uruchom to na własne ryzyko - usunie wszystkie zmienne oprócz x
:
x <- 1
y <- 2
z <- 3
ls()
[1] "x" "y" "z"
rm(list=setdiff(ls(), "x"))
ls()
[1] "x"
Korzystanie z
keep
funkcji zgdata
pakietu jest dość wygodne.źródło
Myślę, że inną opcją jest otwarcie obszaru roboczego w RStudio, a następnie zmiana listy na siatkę w prawym górnym rogu środowiska (obrazek poniżej). Następnie zaznacz obiekty, które chcesz usunąć, i na koniec kliknij wyczyść.
źródło
Spędziłem kilka godzin na poszukiwaniu odpowiedzi na podobne, ale nieco inne pytanie - musiałem móc usunąć wszystkie obiekty w R (w tym funkcje) oprócz kilku wektorów.
Jednym ze sposobów na to:
Gdzie wektory, które chcę zachować, mają nazwy „a” i „c”.
Mam nadzieję, że pomoże to każdemu, kto szuka tego samego rozwiązania!
źródło
rm(list=setdiff(ls(), c("a", "c")))
, prawda? Zobacz odpowiedź @ Andrie.Aby zachować wszystkie obiekty, których nazwy pasują do wzorca, możesz użyć
grep
:źródło
Zamień
v
na nazwę obiektu, który chcesz zachowaćhat-tip: http://r.789695.n4.nabble.com/Removing-objects-and-clearing-memory-tp3445763p3445865.html
źródło
Wykorzystuje
ls()
topattern
opcję, w przypadku, gdy masz wiele obiektów z tym samym wzorem, którego nie chcesz zachować:źródło
rm
funkcji należy zawsze korzystać ostrożnie (zwłaszcza w powłoce!). Zobacz moją edycję, aby uzyskać odpowiedź na twoje pytanie.źródło
zastanówmy się inaczej, co jeśli chcemy usunąć grupę? Spróbuj tego,
Osobiście nie lubię zbyt wielu tabel, zmiennych na ekranie, ale nie mogę ich uniknąć. Tymczasowe rzeczy nazywam więc od „xxx”, więc mogę je usunąć, gdy nie będą już używane.
źródło
Z poziomu funkcji, rm wszystkie obiekty w .GlobalEnv oprócz funkcji
źródło
Aby zachować listę plików, możesz użyć:
źródło
Co powiesz na to?
źródło
zakładając, że chcesz usunąć każdy obiekt oprócz df ze środowiska:
źródło
źródło
Poniższe spowoduje usunięcie wszystkich obiektów z konsoli
źródło