在 R 的互動式環境下工作時,我們可以使用 ls
來列出目前已經被建立的變數名稱:
foo <- 3 bar <- "Hello World" foo.bar <- 1:5 ls()
[1] "bar" "foo" "foo.bar"
ls
的 pattern
參數可以指定搜尋的關鍵字,篩選變數名稱:
ls(pattern = "foo")
[1] "foo" "foo.bar"
在預設的狀況下,ls
不會顯示以句點(.
)開頭的隱藏變數(這跟 UNIX/Linux 系統上的規則相同),如果想要連同隱藏的變數一起列出來,可以加上 all.names = TRUE
參數:
.hide.var <- 23 ls()
[1] "bar" "foo" "foo.bar"
ls(all.names = TRUE)
[1] ".hide.var" "bar" "foo" "foo.bar"
ls.str
是結合 ls
與 str
的一個函數,可以列出各個變數的名稱與內部結構:
ls.str()
bar : chr "Hello World" foo : num 3 foo.bar : int [1:5] 1 2 3 4 5
browseEnv
可以在瀏覽器中顯示目前工作空間中的變數:
browseEnv()
通常在 R 的環境下工作一段時間之後,會在工作空間中建立許多的變數,如果要刪除一些不再使用的變數,可以使用 rm
函數:
rm(bar, foo)
rm
可以配合 ls
將所有的變數一次刪除:
rm(list = ls())
R 有四種區分變數類型的屬性,分別為類別(class)、類型(type)、模式(mode)與儲存模式(storage mode),大部分的狀況下我們只會使用到類別(class),遇到類別不敷使用時才會需要使用其他幾個屬性(例如區分陣列(array)的狀況),這時候就可以使用 is.numeric
這類的函數。
下表是 R 各種類型變數的類別(class)、類型(type)、模式(mode)與儲存模式(storage mode)的對應。
類別 | 類型 | 模式 | 儲存模式 | |
---|---|---|---|---|
Logical | logical | logical | logical | logical |
Integer | integer | integer | numeric | integer |
Floating Point | numeric | double | numeric | double |
Complex | complex | complex | complex | complex |
String | character | character | character | character |
Raw Byte | raw | raw | raw | raw |
Categorical | factor | integer | numeric | integer |
Null | NULL | NULL | NULL | NULL |
Logical Matrix | matrix | logical | logical | logical |
Numeric Matrix | matrix | double | numeric | double |
Character Matrix | matrix | character | character | character |
Logical Array | array | logical | logical | logical |
Numeric Array | array | double | numeric | double |
Character Array | array | character | character | character |
List | list | list | list | list |
Data Frame | data.frame | list | list | list |
Function | function | closure | function | function |
Environment | environment | environment | environment | environment |
Expression | expression | expression | expression | expression |
Call | call | language | call | language |
Formula | formula | language | call | language |