R - ตัวแปร
ตัวแปรช่วยให้เรามีพื้นที่จัดเก็บที่มีชื่อซึ่งโปรแกรมของเราสามารถจัดการ ตัวแปรใน R สามารถจัดเก็บเวกเตอร์อะตอมกลุ่มของเวกเตอร์อะตอมหรือการรวมกันของ Robjects จำนวนมาก ชื่อตัวแปรที่ถูกต้องประกอบด้วยตัวอักษรตัวเลขและจุดหรืออักขระขีดเส้นใต้ ชื่อตัวแปรเริ่มต้นด้วยตัวอักษรหรือจุดที่ไม่ได้ตามด้วยตัวเลข
ชื่อตัวแปร | ความถูกต้อง | เหตุผล |
---|---|---|
var_name2. | ถูกต้อง | มีตัวอักษรตัวเลขจุดและขีดล่าง |
var_name% | ไม่ถูกต้อง | มีอักขระ '%' อนุญาตเฉพาะจุด (.) และขีดล่างเท่านั้น |
2var_name | ไม่ถูกต้อง | เริ่มต้นด้วยตัวเลข |
.var_name, var.name |
ถูกต้อง | สามารถเริ่มต้นด้วยจุด (.) แต่ไม่ควรตามด้วยตัวเลข |
.2var_name | ไม่ถูกต้อง | จุดเริ่มต้นตามด้วยตัวเลขทำให้ไม่ถูกต้อง |
_var_name | ไม่ถูกต้อง | เริ่มต้นด้วย _ ซึ่งไม่ถูกต้อง |
การกำหนดตัวแปร
ตัวแปรสามารถกำหนดค่าได้โดยใช้ตัวดำเนินการซ้ายขวาและเท่ากับตัวดำเนินการ สามารถพิมพ์ค่าของตัวแปรได้โดยใช้print() หรือ cat()ฟังก์ชัน cat() ฟังก์ชั่นรวมหลายรายการเป็นผลงานพิมพ์ต่อเนื่อง
# Assignment using equal operator.
var.1 = c(0,1,2,3)
# Assignment using leftward operator.
var.2 <- c("learn","R")
# Assignment using rightward operator.
c(TRUE,1) -> var.3
print(var.1)
cat ("var.1 is ", var.1 ,"\n")
cat ("var.2 is ", var.2 ,"\n")
cat ("var.3 is ", var.3 ,"\n")
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
[1] 0 1 2 3
var.1 is 0 1 2 3
var.2 is learn R
var.3 is 1 1
Note- เวกเตอร์ c (TRUE, 1) มีคลาสตรรกะและตัวเลขผสมกัน ดังนั้นคลาสตรรกะจึงถูกบังคับให้คลาสตัวเลขทำให้ TRUE เป็น 1
ชนิดข้อมูลของตัวแปร
ใน R ตัวแปรจะไม่ได้รับการประกาศประเภทข้อมูลใด ๆ แต่จะได้รับชนิดข้อมูลของวัตถุ R ที่กำหนดให้ ดังนั้น R จึงเรียกว่าภาษาพิมพ์แบบไดนามิกซึ่งหมายความว่าเราสามารถเปลี่ยนชนิดข้อมูลของตัวแปรเดียวกันซ้ำแล้วซ้ำอีกเมื่อใช้ในโปรแกรม
var_x <- "Hello"
cat("The class of var_x is ",class(var_x),"\n")
var_x <- 34.5
cat(" Now the class of var_x is ",class(var_x),"\n")
var_x <- 27L
cat(" Next the class of var_x becomes ",class(var_x),"\n")
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
The class of var_x is character
Now the class of var_x is numeric
Next the class of var_x becomes integer
การค้นหาตัวแปร
หากต้องการทราบตัวแปรทั้งหมดที่มีอยู่ในพื้นที่ทำงานเราใช้ ls()ฟังก์ชัน นอกจากนี้ฟังก์ชัน ls () ยังสามารถใช้รูปแบบเพื่อจับคู่ชื่อตัวแปร
print(ls())
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
[1] "my var" "my_new_var" "my_var" "var.1"
[5] "var.2" "var.3" "var.name" "var_name2."
[9] "var_x" "varname"
Note - เป็นผลลัพธ์ตัวอย่างขึ้นอยู่กับตัวแปรที่ประกาศในสภาพแวดล้อมของคุณ
ฟังก์ชัน ls () สามารถใช้รูปแบบเพื่อจับคู่ชื่อตัวแปร
# List the variables starting with the pattern "var".
print(ls(pattern = "var"))
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
[1] "my var" "my_new_var" "my_var" "var.1"
[5] "var.2" "var.3" "var.name" "var_name2."
[9] "var_x" "varname"
ตัวแปรที่ขึ้นต้นด้วย dot(.) ถูกซ่อนไว้สามารถแสดงรายการโดยใช้อาร์กิวเมนต์ "all.names = TRUE" กับฟังก์ชัน ls ()
print(ls(all.name = TRUE))
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
[1] ".cars" ".Random.seed" ".var_name" ".varname" ".varname2"
[6] "my var" "my_new_var" "my_var" "var.1" "var.2"
[11]"var.3" "var.name" "var_name2." "var_x"
การลบตัวแปร
ตัวแปรสามารถลบได้โดยใช้ rm()ฟังก์ชัน ด้านล่างเราจะลบตัวแปร var.3 ในการพิมพ์ค่าของข้อผิดพลาดตัวแปรจะถูกโยนทิ้ง
rm(var.3)
print(var.3)
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
[1] "var.3"
Error in print(var.3) : object 'var.3' not found
ตัวแปรทั้งหมดสามารถลบได้โดยใช้ rm() และ ls() ทำงานร่วมกัน
rm(list = ls())
print(ls())
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
character(0)