簡體   English   中英

如何從我的 R 環境中刪除所有對象,但名稱不同的兩個對象除外

[英]How to delete all objects from my R environment except two that have different names

有時我在我的 R 環境中有數十個對象,我只想保留其中的一個、兩個或三個。 舉個例子:

df1   df8    dataframeX
df2   df9    ObjectY
df3   df10   df15
df4   df11   df16
df5   df12   dataframeZ
df6   df13
df7   df14

我發現這個有用的腳本可以保留一個或多個遵循相同名稱模式的對象:

rm(list = grep("^dataframe", ls(), value = TRUE, invert = TRUE))

dataframeX
dataframeZ

但是,我不知道如何修改它以保留在遵循不同名稱模式的 R 環境對象中。 例如,我怎樣才能保留對象dataframeXdataframeZ和 `ObjectY?。

有誰知道如何創建一個讓我輕松做到這一點的腳本?

您可以使用

rm(list = grep("^(?:dataframe|Object)", ls(), value = TRUE, invert = TRUE))

查看正則表達式演示

細節

  • ^ - 字符串的開頭
  • (?: - 非捕獲組的開始:
    • dataframe - dataframe字符串
    • | - 或者
    • Object - 一個Object字符串
  • ) - 分組結束。

該組用於確保將^應用於兩個備選方案,以便僅在字符串的開頭搜索它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM