Hướng dẫn cơ bản về Vectors trong R
Xin chào các bạn lập trình viên tương lai! Hôm nay, chúng ta sẽ bắt đầu một hành trình thú vị vào thế giới của các vector trong R. Đừng lo lắng nếu bạn chưa từng lập trình trước đây - tôi sẽ là người hướng dẫn thân thiện của bạn, và chúng ta sẽ cùng nhau bước từng bước. Cuối cùng của bài hướng dẫn này, bạn sẽ có thể tạo và manipulates các vector như một chuyên gia!
Vector là gì?
Trước khi chúng ta đi sâu vào, hãy hiểu vector là gì. Trong R, một vector giống như một bình chứa giữ nhiều mục cùng loại. Hãy tưởng tượng nó như một chuyến tàu với nhiều toa xe, mỗi toa xe chứa cùng một loại hàng hóa. Hàng hóa này có thể là số, văn bản, hoặc thậm chí là các giá trị logic (đúng/sai).
Tạo Vector
Hãy bắt đầu bằng cách học cách tạo vector. Có nhiều cách để làm điều này trong R, nhưng chúng ta sẽ tập trung vào các phương pháp phổ biến và hữu ích nhất.
Sử dụng hàm c()
Cách đơn giản nhất để tạo vector là sử dụng hàm c()
. Ký tự 'c' có nghĩa là 'combine' hoặc 'concatenate'.
# Tạo một vector số
numbers <- c(1, 2, 3, 4, 5)
print(numbers)
# Tạo một vector ký tự
fruits <- c("apple", "banana", "cherry")
print(fruits)
# Tạo một vector logic
is_student <- c(TRUE, FALSE, TRUE, TRUE)
print(is_student)
Trong các ví dụ này, chúng ta đang tạo ba loại vector khác nhau. Ký hiệu <-
được sử dụng để gán vector cho một tên biến.
Sử dụng dấu :
Để tạo một dãy số, dấu :
rất hữu ích:
# Tạo một dãy từ 1 đến 10
sequence <- 1:10
print(sequence)
# Tạo một dãy ngược
reverse_sequence <- 10:1
print(reverse_sequence)
Đây là một cách nhanh chóng để tạo một dãy số nguyên. Nó giống như nói với R, "Cho tôi tất cả các số từ này đến đó."
Sử dụng hàm seq()
Để kiểm soát hơn nữa các dãy của bạn, hàm seq()
sẽ là người bạn tốt:
# Tạo một dãy với bước cụ thể
by_twos <- seq(from = 0, to = 10, by = 2)
print(by_twos)
# Tạo một dãy với độ dài cụ thể
five_numbers <- seq(from = 0, to = 1, length.out = 5)
print(five_numbers)
Hàm seq()
linh hoạt hơn, cho phép bạn chỉ định bắt đầu, kết thúc, bước hoặc số lượng phần tử bạn muốn.
Sử dụng hàm rep()
Đôi khi, bạn có thể muốn lặp lại các giá trị. Đó là khi rep()
xuất hiện:
# Lặp lại một giá trị
repeat_five <- rep(5, times = 3)
print(repeat_five)
# Lặp lại một vector
repeat_vector <- rep(c(1, 2), times = 3)
print(repeat_vector)
# Lặp lại mỗi phần tử
repeat_each <- rep(c(1, 2), each = 3)
print(repeat_each)
rep()
rất tốt để tạo các mẫu hoặc đệm dữ liệu với các giá trị lặp lại.
Truy cập phần tử của Vector
Bây giờ chúng ta đã biết cách tạo vector, hãy học cách truy cập các phần tử của chúng. Trong R, chúng ta sử dụng dấu ngoặc vuông []
để thực hiện điều này.
Truy cập theo chỉ số
Nhớ rằng, trong R, chỉ số bắt đầu từ 1, không phải 0 như trong một số ngôn ngữ lập trình khác.
fruits <- c("apple", "banana", "cherry", "date")
# Truy cập phần tử đầu tiên
print(fruits[1]) # Output: "apple"
# Truy cập phần tử thứ ba
print(fruits[3]) # Output: "cherry"
# Truy cập nhiều phần tử
print(fruits[c(1, 3)]) # Output: "apple" "cherry"
# Truy cập một dãy phần tử
print(fruits[2:4]) # Output: "banana" "cherry" "date"
Truy cập âm
Trong R, bạn có thể sử dụng chỉ số âm để loại trừ các phần tử:
# Loại bỏ phần tử thứ hai
print(fruits[-2]) # Output: "apple" "cherry" "date"
# Loại bỏ nhiều phần tử
print(fruits[c(-1, -3)]) # Output: "banana" "date"
Truy cập logic
Bạn cũng có thể sử dụng các vector logic để truy cập các phần tử:
numbers <- c(1, 2, 3, 4, 5)
# Truy cập các số chẵn
print(numbers[numbers %% 2 == 0]) # Output: 2 4
# Truy cập các số lớn hơn 3
print(numbers[numbers > 3]) # Output: 4 5
Manipulate Vector
Bây giờ chúng ta có thể tạo và truy cập vector, hãy học cách manipulates chúng.
Toán học vector
Bạn có thể thực hiện các phép toán trên các vector:
vec1 <- c(1, 2, 3)
vec2 <- c(4, 5, 6)
# Cộng
print(vec1 + vec2) # Output: 5 7 9
# Nhân
print(vec1 * vec2) # Output: 4 10 18
# Chia
print(vec2 / vec1) # Output: 4 2.5 2
Tái sử dụng vector
Khi thực hiện các phép toán trên các vector có độ dài khác nhau, R sẽ tái sử dụng vector ngắn hơn:
short_vec <- c(1, 2)
long_vec <- c(1, 2, 3, 4, 5, 6)
print(short_vec + long_vec) # Output: 2 4 4 6 6 8
R sẽ lặp lại vector ngắn hơn để phù hợp với độ dài của vector dài hơn.
Hàm vector
R cung cấp nhiều hàm hữu ích để làm việc với các vector:
numbers <- c(5, 2, 8, 1, 9)
# Độ dài của vector
print(length(numbers)) # Output: 5
# Tích của tất cả các phần tử
print(sum(numbers)) # Output: 25
# Trung bình (giá trị trung bình) của vector
print(mean(numbers)) # Output: 5
# Sắp xếp vector
print(sort(numbers)) # Output: 1 2 5 8 9
Dưới đây là bảng tóm tắt một số hàm vector phổ biến:
Hàm | Mô tả |
---|---|
length() | Trả về số lượng phần tử trong vector |
sum() | Tính tổng của tất cả các phần tử |
mean() | Tính giá trị trung bình của vector |
median() | Tìm giá trị trung bình |
max() | Trả về giá trị lớn nhất |
min() | Trả về giá trị nhỏ nhất |
sort() | Sắp xếp vector theo thứ tự tăng dần |
rev() | Đảo ngược thứ tự các phần tử |
Kết luận
Chúc mừng! Bạn đã chính thức bước những bước đầu tiên vào thế giới của các vector trong R. Chúng ta đã xem qua tạo vector, truy cập phần tử và manipulates cơ bản. Nhớ rằng, thực hành làm cho hoàn hảo, vì vậy đừng ngần ngại thử nghiệm với các khái niệm này.
Vectors là nền tảng của manipulates dữ liệu trong R, và việc thành thạo chúng sẽ mang lại thành công trong hành trình lập trình R của bạn. Hãy tiếp tục khám phá, tiếp tục lập trình, và quan trọng nhất, hãy vui vẻ với nó!
Credits: Image by storyset