R - 變數:初學者指南
你好,有抱負的R語言編程新手!我很興奮能成為你進入R語言變數世界的導師。作為一個教導編程多年的老師,我可以向你保證,理解變數就像學習騎自行車一樣——一旦你掌握了它,你就永遠不會忘記!所以,讓我們一起深入探究,讓這個過程變得有趣且容易理解。
變數是什麼?
在我們深入細節之前,讓我們從基礎開始。可以把變數想象成標籤過的盒子,你可以在裡面存儲不同類型的信息。就像你可能會有一個標籤為“書籍”的盒子來存放書籍一樣,在R語言中,你可以創建變數來存儲數字、文本,甚至是更複雜的數據。
變數賦值
現在,讓我們學習如何創建這些盒子(變數)和在它們中放入東西!
賦值的基本概念
在R語言中,我們使用賦值運算符 <-
來創建變數。它看起來像一個指向左邊的箭頭,這正是它的作用——它將右邊的值指派給左邊的變數名。
my_first_variable <- 42
在這個例子中,我們創建了一個名為 my_first_variable
的變數,並將數字42存儲在其中。簡單吧?
你也可以使用 =
進行賦值,但 <-
在R社群中更常見。
my_second_variable = "Hello, R!"
多重賦值
你可以在一行中賦值給多個變數:
x <- y <- z <- 10
這將創建三個變數(x
、y
和 z
),並將數字10賦值給它們。這就像設置一排相同的盒子,每個盒子中都含有數字10。
變數命名規範
在給變數命名時,請記住:
- 名稱可以包含字母、數字、點(.)和下劃線(_)
- 名稱必須以字母或點開頭
- 如果名稱以點開頭,則不能緊跟著數字
- 名稱區分大小寫(myVar 和 myvar 是不同的)
以下是一些有效和無效的變數名稱:
valid_name <- 1
Valid.Name <- 2
.valid_name <- 3
2invalid <- 4 # 無效!不能以數字開頭
_invalid <- 5 # 無效!不能以下劃線開頭
變數的數據類型
正如盒子可以包含不同類型的項目一樣,R語言中的變數可以持有不同類型的數據。讓我們探討主要的數據類型:
數值
這用於存儲數字,包括小數。
my_number <- 42.5
print(my_number)
輸出:
[1] 42.5
整數
用於存儲整數。添加一個 L
來明確指定為整數。
my_integer <- 42L
print(my_integer)
輸出:
[1] 42
字符
用於存儲文本(字符串)。
my_text <- "I love R!"
print(my_text)
輸出:
[1] "I love R!"
邏輯
用於存儲 TRUE 或 FALSE 值。
is_r_fun <- TRUE
print(is_r_fun)
輸出:
[1] TRUE
檢查數據類型
要檢查變數持有的是什麼類型的數據,使用 class()
函數:
x <- 42
y <- "Hello"
z <- TRUE
print(class(x))
print(class(y))
print(class(z))
輸出:
[1] "numeric"
[1] "character"
[1] "logical"
查找變數
隨著你的代碼增長,你可能會想知道你已經創建了哪些變數。R語言提供了一些方便的函數來做到這一點:
ls()
函數
ls()
函數列出了當前環境中的所有變數:
a <- 1
b <- "two"
c <- TRUE
print(ls())
輸出:
[1] "a" "b" "c"
exists()
函數
要檢查特定變數是否存在,使用 exists()
函數:
print(exists("a"))
print(exists("d"))
輸出:
[1] TRUE
[1] FALSE
刪除變數
有時候,你可能會想要刪除不再需要的變數。這可以幫助釋放內存並保持你的工作空間整潔。
rm()
函數
rm()
函數用於刪除變數:
x <- 10
y <- 20
print(ls())
rm(x)
print(ls())
輸出:
[1] "x" "y"
[1] "y"
你可以一次刪除多個變數:
a <- 1
b <- 2
c <- 3
rm(a, b, c)
print(ls())
輸出:
character(0)
刪除所有變數
要刪除所有變數並從一個乾淨的狀態開始:
rm(list = ls())
請謹慎使用這個操作——這就像一次清空所有的盒子!
變數相關函數總結
這裡有一個方便的表格總結我們學到的關鍵函數:
函數 | 描述 | 示例 |
---|---|---|
<- 或 =
|
對變數賦值 | x <- 10 |
class() |
返回變數的數據類型 | class(x) |
ls() |
列出當前環境中的所有變數 | ls() |
exists() |
檢查變數是否存在 | exists("x") |
rm() |
刪除指定的變數 |
rm(x) 或 rm(x, y)
|
rm(list = ls()) |
刪除所有變數 | rm(list = ls()) |
這就是你們的!你剛剛踏出了進入R語言編程世界的第一步。記住,變數是你的代碼的基石,精通它們是成為熟練R語言編程者的關鍵。
在練習的過程中,你會發現使用變數變得習以為常。不要害怕嘗試——創建變數,給它們分配不同的數據類型,看看會發生什麼。你越多地玩轉它,你就會越感覺自如。
快樂編程,並記住——在R的世界裡,你現在是變數的主宰!
Credits: Image by storyset