![](/img/trans.png)
[英]how to make function in R to remove all objects from global environment except defaults and objects passed as arguments
[英]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 環境對象中。 例如,我怎樣才能保留對象dataframeX
、 dataframeZ
和 `ObjectY?。
有誰知道如何創建一個讓我輕松做到這一點的腳本?
您可以使用
rm(list = grep("^(?:dataframe|Object)", ls(), value = TRUE, invert = TRUE))
查看正則表達式演示
細節
^
- 字符串的開頭(?:
- 非捕獲組的開始:
dataframe
- dataframe
字符串|
- 或者Object
- 一個Object
字符串)
- 分組結束。 該組用於確保將^
應用於兩個備選方案,以便僅在字符串的開頭搜索它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.