R - Biến
Một biến cung cấp cho chúng tôi bộ nhớ được đặt tên mà chương trình của chúng tôi có thể thao tác. Một biến trong R có thể lưu trữ một vectơ nguyên tử, một nhóm vectơ nguyên tử hoặc một tổ hợp của nhiều Robject. Tên biến hợp lệ bao gồm các chữ cái, số và các ký tự dấu chấm hoặc gạch dưới. Tên biến bắt đầu bằng một chữ cái hoặc dấu chấm, không theo sau là số.
Tên biến | Hiệu lực | Lý do |
---|---|---|
var_name2. | có hiệu lực | Có chữ cái, số, dấu chấm và dấu gạch dưới |
var_name% | không hợp lệ | Có ký tự '%'. Chỉ cho phép dấu chấm (.) Và dấu gạch dưới. |
2var_name | không hợp lệ | Bắt đầu bằng một số |
.var_name, var.name |
có hiệu lực | Có thể bắt đầu bằng dấu chấm (.) Nhưng dấu chấm (.) Không được theo sau bằng số. |
.2var_name | không hợp lệ | Dấu chấm bắt đầu được theo sau bởi một số làm cho nó không hợp lệ. |
_var_name | không hợp lệ | Bắt đầu bằng _ không hợp lệ |
Chuyển nhượng biến
Các biến có thể được gán giá trị bằng toán tử sang trái, sang phải và bằng. Giá trị của các biến có thể được in bằng cách sử dụngprint() hoặc là cat()chức năng. Cáccat() chức năng kết hợp nhiều mục thành một đầu ra in liên tục.
# 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")
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
[1] 0 1 2 3
var.1 is 0 1 2 3
var.2 is learn R
var.3 is 1 1
Note- Vectơ c (TRUE, 1) có hỗn hợp của lớp logic và lớp số. Vì vậy, lớp logic bị ép buộc với lớp số làm TRUE là 1.
Loại dữ liệu của một biến
Trong R, bản thân một biến không được khai báo kiểu dữ liệu nào, thay vào đó, nó nhận kiểu dữ liệu của đối tượng R được gán cho nó. Vì vậy R được gọi là ngôn ngữ kiểu động, có nghĩa là chúng ta có thể thay đổi kiểu dữ liệu của một biến của cùng một biến khi sử dụng nó trong một chương trình.
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")
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
The class of var_x is character
Now the class of var_x is numeric
Next the class of var_x becomes integer
Tìm biến
Để biết tất cả các biến hiện có trong không gian làm việc, chúng tôi sử dụng ls()chức năng. Ngoài ra, hàm ls () có thể sử dụng các mẫu để khớp với tên biến.
print(ls())
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
[1] "my var" "my_new_var" "my_var" "var.1"
[5] "var.2" "var.3" "var.name" "var_name2."
[9] "var_x" "varname"
Note - Đây là đầu ra mẫu tùy thuộc vào những biến nào được khai báo trong môi trường của bạn.
Hàm ls () có thể sử dụng các mẫu để khớp với tên biến.
# List the variables starting with the pattern "var".
print(ls(pattern = "var"))
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
[1] "my var" "my_new_var" "my_var" "var.1"
[5] "var.2" "var.3" "var.name" "var_name2."
[9] "var_x" "varname"
Các biến bắt đầu bằng dot(.) bị ẩn, chúng có thể được liệt kê bằng cách sử dụng đối số "all.names = TRUE" cho hàm ls ().
print(ls(all.name = TRUE))
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
[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"
Xóa các biến
Có thể xóa các biến bằng cách sử dụng rm()chức năng. Dưới đây chúng tôi xóa biến var.3. Khi in giá trị của lỗi biến được ném ra.
rm(var.3)
print(var.3)
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
[1] "var.3"
Error in print(var.3) : object 'var.3' not found
Tất cả các biến có thể bị xóa bằng cách sử dụng rm() và ls() cùng chức năng.
rm(list = ls())
print(ls())
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
character(0)