從 R 中的工作區中刪除使用者定義的物件

Jesse John 2023年1月30日
  1. 使用 rm() 函式從 R 中的工作區中刪除使用者定義的物件
  2. 使用 R Studio 介面從 R 中的工作區中刪除使用者定義的物件
  3. まとめ
從 R 中的工作區中刪除使用者定義的物件

我們的資料分析可能會建立許多佔用記憶體的物件。本文介紹如何使用 rm() 函式和 R Studio 的 Environment 選項卡從 R 中的工作區中刪除使用者定義的物件。

使用 rm() 函式從 R 中的工作區中刪除使用者定義的物件

在我們的 R 指令碼中,我們可以使用 rm()remove() 函式來刪除物件。這兩個功能是相同的。

我們可以將要刪除的物件指定為變數、字串或提供給 list 引數的字元向量。

示例程式碼:

# Make several objects.
a = 1:10
b = 11:20
c = c(a,b)
df1 = data.frame(a, b)
x = a
y = b
z = c
df2 = data.frame(x, y)
df3 = cbind(df1, df2)

# Lists the objects in the top level (global) environment.
ls()

# Remove one object.
# Specify as a variable.
rm(a)
# Check the list.
ls()

# Remove another object.
# Specify as a string.
rm("b")
# Check the list.
ls()

# Remove multiple objects as variables.
rm(x, y)
# Check the list.
ls()

# Remove multiple objects as strings.
rm("df1", "df2")
# Check the list.
ls()

# Remove multiple objects by providing a character vector to list.
rm(list = c("c", "z"))
# Check the list.
ls()

輸出:

> # Lists the objects in the top level (global) environment.
> ls()
[1] "a"   "b"   "c"   "df1" "df2" "df3" "x"   "y"   "z"
>
> # Remove one object.
> # Specify as a variable.
> rm(a)
> # Check the list.
> ls()
[1] "b"   "c"   "df1" "df2" "df3" "x"   "y"   "z"
>
> # Remove another object.
> # Specify as a string.
> rm("b")
> # Check the list.
> ls()
[1] "c"   "df1" "df2" "df3" "x"   "y"   "z"
>
> # Remove multiple objects as variables.
> rm(x, y)
> # Check the list.
> ls()
[1] "c"   "df1" "df2" "df3" "z"
>
> # Remove multiple objects as strings.
> rm("df1", "df2")
> # Check the list.
> ls()
[1] "c"   "df3" "z"
>
> # Remove multiple objects by providing a character vector to list.
> rm(list = c("c", "z"))
> # Check the list.
> ls()
[1] "df3"

我們可以通過將 ls() 函式的輸出提供給 rm() 函式的 list 引數來一次刪除所有使用者定義的物件。

該文件指定該操作將在沒有警告的情況下執行,並建議使用者除非確定,否則不應使用它。

示例程式碼:

# Again create some objects.
A = 100:110
B = 200:210
DF1 = data.frame(A, B)

# Check the list of objects.
ls()

# Remove all user-defined objects.
rm(list = ls())
# Check the list of objects.
ls()

輸出:

> # Check the list of objects.
> ls()
[1] "A"   "B"   "DF1" "df3"
>
> # Remove all user-defined objects.
> rm(list = ls())
> # Check the list of objects.
> ls()
character(0)
注意
這些函式不會分離我們使用 library() 函式載入的包。我們可以使用 detach() 函式來分離我們不再需要的包。

使用 R Studio 介面從 R 中的工作區中刪除使用者定義的物件

R Studio 可以非常方便地從記憶體中刪除使用者定義的物件。

R Studio 介面的右上角面板有一個環境選項卡,其中列出了所有使用者定義的物件。

在第一行圖示中,請注意中間的掃帚圖示和遠端的網格或列表下拉選擇器,就在重新整理按鈕之前。我們需要選擇 Grid 來控制我們從工作區中刪除哪些物件。

在第二行圖示中,請注意標籤 Global Environment

當我們在第一行圖示中選擇 Grid 時,我們會得到列名。注意所有列名前面的選擇框和列表中每個物件的選擇框。

R Studio 環境選項卡

我們可以通過單擊掃帚圖示來移除物件。可用的不同選項如下。

  • 未選擇任何物件時單擊掃帚圖示將刪除所有使用者定義的物件,包括隱藏物件(選擇器出現在確認對話方塊中)。

  • 選擇一個或多個物件並單擊掃帚圖示將刪除所選物件。

  • 通過單擊列名稱列表中的選擇器選擇所有物件,然後單擊掃帚圖示將刪除列表中所有可見(和選擇)的物件。

  • 要保留一個或多個物件並刪除所有其他物件,我們可以手動取消選擇這些物件,或者我們可以執行以下操作:

  • 單擊列名行中的選擇器以選擇所有物件。

  • 取消選擇我們要保留的物件。

  • 點選掃帚圖示。只有未選擇的物件將保留。

まとめ

我們可以使用 rm() 函式從工作區中刪除使用者定義的物件。R Studio 的環境選項卡使這項任務變得更容易。

作者: Jesse John
Jesse John avatar Jesse John avatar

Jesse is passionate about data analysis and visualization. He uses the R statistical programming language for all aspects of his work.

相關文章 - R Object