從 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 時,我們會得到列名。注意所有列名前面的選擇框和列表中每個物件的選擇框。
我們可以通過單擊掃帚圖示來移除物件。可用的不同選項如下。
-
未選擇任何物件時單擊掃帚圖示將刪除所有使用者定義的物件,包括隱藏物件(選擇器出現在確認對話方塊中)。
-
選擇一個或多個物件並單擊掃帚圖示將刪除所選物件。
-
通過單擊列名稱列表中的選擇器選擇所有物件,然後單擊掃帚圖示將刪除列表中所有可見(和選擇)的物件。
-
要保留一個或多個物件並刪除所有其他物件,我們可以手動取消選擇這些物件,或者我們可以執行以下操作:
-
單擊列名行中的選擇器以選擇所有物件。
-
取消選擇我們要保留的物件。
-
點選掃帚圖示。只有未選擇的物件將保留。
まとめ
我們可以使用 rm()
函式從工作區中刪除使用者定義的物件。R Studio 的環境選項卡使這項任務變得更容易。