Chuyển đến nội dung chính
Mô-đun 1 · Bài học 2 trong tổng số 22/10 trong khóa học~12 min
Bài học theo mô-đun (2/2)

Các kiểu dữ liệu và ma trận

R có một số kiểu dữ liệu cơ bản cho phép lưu trữ các thông tin khác nhau bên trong các vectơ và biến.

Các kiểu dữ liệu cơ bản

Ba loại dữ liệu chính được sử dụng thường xuyên nhất trong R là:

  1. numeric: Số thập phân (ví dụ: 4.5, 10.0) hoặc số nguyên.
  2. character: Chuỗi văn bản được đặt trong dấu ngoặc kép hoặc dấu ngoặc đơn (ví dụ: "Alice", 'Data').
  3. logical: Giá trị Boolean, chỉ có thể là TRUE hoặc FALSE. Trong R, bạn cũng có thể sử dụng các chữ viết tắt T hoặc F (mặc dù vậy, bạn nên sử dụng phiên bản đầy đủ để rõ ràng).
R
# Examples of different types
score <- 95.5          # numeric
player_name <- "Marco"  # character
is_winner <- TRUE       # logical

Ma trận

ma trận trong R là phần mở rộng hai chiều của vectơ. Giống như vectơ, ma trận chỉ có thể chứa các phần tử cùng loại (thường là số).

Bạn tạo ma trận bằng hàm matrix(), cung cấp vectơ dữ liệu và chỉ định số hàng (nrow) hoặc số cột (ncol):

R
# Create a 2x3 matrix with values from 1 to 6
mat <- matrix(1:6, nrow = 2, ncol = 3)
print(mat)

Theo mặc định, R điền cột ma trận theo cột.

Truy cập các phần tử

Để truy cập một phần tử cụ thể trong ma trận, hãy sử dụng dấu ngoặc vuông [row, column]:

R
# Extract the element at the first row, second column
value <- mat[1, 2]

# Extract an entire row by leaving the column field empty
first_row <- mat[1, ]

# Extract an entire column
second_col <- mat[, 2]

Yếu tố

Các yếu tố trong R là các cấu trúc dữ liệu đặc biệt được sử dụng để biểu thị các biến phân loại (dữ liệu định tính thuộc về một tập hợp các danh mục hữu hạn, chẳng hạn như giới tính hoặc trình độ học vấn). Chúng rất quan trọng trong phân tích thống kê:

R
sizes <- c("M", "L", "M", "S")
size_factor <- factor(sizes)
print(size_factor) # Also shows the Levels: S M L

Kết hợp dữ liệu: cbind và rbind

Chúng ta có thể kết hợp các vectơ hoặc ma trận bằng cách liên kết chúng theo cột với cbind() (liên kết cột) hoặc theo hàng với rbind() (liên kết hàng):

R
v1 <- c(1, 2)
v2 <- c(3, 4)

# Creates a 2x2 matrix by placing v1 and v2 side-by-side as columns
combined <- cbind(v1, v2)

Hãy tự mình thử

tập thể dục#r.m1.l2.e1
Nỗ lực: 0Đang tải…

Khai báo một biến logic có tên is_active được đặt thành TRUE và một biến ký tự có tên user_name được đặt thành 'Alice'.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng toán tử <- cho cả hai biến trên các dòng riêng biệt.

Giải pháp khả dụng sau 3 lần thử

tập thể dục#r.m1.l2.e2
Nỗ lực: 0Đang tải…

Tạo ma trận tên mat chứa các giá trị từ 1 đến 6, có cấu trúc 2 hàng (nrow = 2) và 3 cột (ncol = 3).

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng hàm ma trận(1:6, nrow = 2, ncol = 3).

Giải pháp khả dụng sau 3 lần thử

tập thể dục#r.m1.l2.e3
Nỗ lực: 0Đang tải…

Cho tấm ma trận đã được tạo sẵn, hãy trích xuất phần tử nằm ở hàng đầu tiên và cột thứ ba rồi lưu nó vào biến val.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Truy cập phần tử bằng dấu ngoặc vuông: val <- mat[1, 3]

Giải pháp khả dụng sau 3 lần thử

tập thể dục#r.m1.l2.e4
Nỗ lực: 0Đang tải…

Tạo một hệ số từ các danh mục vectơ và gán nó cho biến cat_factor.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng hàm Factor(): cat_factor <- Factor(categories)

Giải pháp khả dụng sau 3 lần thử

tập thể dục#r.m1.l2.e5
Nỗ lực: 0Đang tải…

Cho các vectơ col1 và col2, hãy kết hợp chúng thành các cột của ma trận bằng cách sử dụng cbind() và gán kết quả cho my_matrix.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng: my_matrix <- cbind(col1, col2)

Giải pháp khả dụng sau 3 lần thử