分類: R

R 變數與工作空間

工作空間

在 R 的互動式環境下工作時,我們可以使用 ls 來列出目前已經被建立的變數名稱:

foo <- 3
bar <- "Hello World"
foo.bar <- 1:5
ls()
[1] "bar"     "foo"     "foo.bar"

lspattern 參數可以指定搜尋的關鍵字,篩選變數名稱:

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 是結合 lsstr 的一個函數,可以列出各個變數的名稱與內部結構:

ls.str()
bar :  chr "Hello World"
foo :  num 3
foo.bar :  int [1:5] 1 2 3 4 5

browseEnv 可以在瀏覽器中顯示目前工作空間中的變數:

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

Page: 1 2 3 4 5

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang

Recent Posts

用檸檬酸或白醋浸泡、清洗蒸鍋內水垢教學

本篇介紹如何使用檸檬酸或白醋浸...

4 年 ago

[開箱] MagSafe 無線充電器

本篇是我從 PChome 線上...

4 年 ago

[DIY] 自己煮素食十全大補湯記錄

本篇記錄我用里仁的十全大補湯中...

4 年 ago

[DIY] 里仁香椿醬製作香椿炒飯記錄

本篇記錄我用里仁香椿醬製作香椿...

4 年 ago

[DIY] 自己煎里仁的臭豆腐

本篇記錄最近買了里仁的臭豆腐,...

4 年 ago

[DIY] 自製松子紫米糕記錄

本篇記錄自己用紫米與糯米製作紫...

4 年 ago