Hàm ma trận trong R: Tạo, In, thêm Cột & Cắt

Hàm ma trận trong R

Hàm ma trận trong R là một mảng 2 chiều có m số hàng và n số cột. Nói cách khác, ma trận trong lập trình R là sự kết hợp của hai hoặc nhiều vectơ có cùng kiểu dữ liệu.

Lưu ý: Có thể tạo nhiều mảng hai chiều với hàm ma trận trong R.

Hàm ma trận trong R

Cách tạo ma trận trong R

Chúng ta có thể tạo một ma trận bằng hàm matrix(). Sau đây là hàm tạo ma trận trong R có ba đối số:

matrix(data, nrow, ncol, byrow = FALSE)

đối số:

  • dữ liệu: Tập hợp các phần tử mà R sẽ sắp xếp thành hàng và cột của ma trận \
  • thu hẹp lại: Số hàng
  • ncol: Số cột
  • đi ngang qua: Các hàng được điền từ trái sang phải. Chúng tôi sử dụng `byrow = FALSE` (giá trị mặc định), nếu chúng tôi muốn ma trận được điền bởi các cột, tức là các giá trị được điền từ trên xuống dưới.

Hãy dựng hai ma trận 5×2 với một dãy số từ 1 đến 10, một ma trận byrow = TRUE và một ma trận byrow = FALSE để thấy sự khác biệt.

# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow =  TRUE 
matrix_a <-matrix(1:10, byrow = TRUE, nrow = 5)
matrix_a

Đầu ra:

Tạo ma trận trong R

Kích thước in của ma trận với dim()

Bây giờ, hãy in kích thước của ma trận trong R bằng dim(). Cú pháp in ma trận trong R bằng dim() là:

# Print dimension of the matrix with dim()
dim(matrix_a)

Đầu ra:

## [1] 5 2

Xây dựng ma trận có 5 hàng chứa các số từ 1 đến 10 và byrow = FALSE

# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow =  FALSE
matrix_b <-matrix(1:10, byrow = FALSE, nrow = 5)
matrix_b

Đầu ra:

Ma trận có 5 hàng chứa byrow = FALSE

Kích thước in của ma trận với dim()

Một lần nữa, in kích thước của ma trận bằng dim(). Dưới đây là cú pháp của kích thước ma trận in R:

# Print dimension of the matrix with dim()
dim(matrix_b)

Đầu ra:

## [1] 5 2

Lưu ý: Sử dụng lệnh Matrix_b <-matrix(1:10, byrow = FALSE, ncol = 2) sẽ có tác dụng tương tự như trên.

Bạn cũng có thể tạo ma trận 4×3 bằng ncol. R sẽ tạo 3 cột và điền vào hàng từ trên xuống dưới. Kiểm tra một ví dụ

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)
matrix_c

Đầu ra:

##       [,1] [,2] [,3]
## [1,]    1    5    9
## [2,]    2    6   10
## [3,]    3    7   11
## [4,]    4    8   12

Ví dụ:

dim(matrix_c)

Đầu ra:

## [1] 4 3

Thêm cột vào ma trận bằng cbind()

Bạn có thể thêm cột vào ma trận R bằng lệnh cbind(). cbind() có nghĩa là liên kết cột. cbind() có thể nối nhiều ma trận hoặc cột theo quy định. Ví dụ: ví dụ trước của chúng tôi đã tạo ma trận 5×2. Chúng tôi nối cột thứ ba và xác minh kích thước là 5×3

Ví dụ:

# concatenate c(1:5) to the matrix_a
matrix_a1 <- cbind(matrix_a, c(1:5))
# Check the dimension
dim(matrix_a1)

Đầu ra:

## [1] 5 3

Ví dụ:

matrix_a1

Đầu ra

##       [,1] [,2] [,3]
## [1,]    1    2    1
## [2,]    3    4    2
## [3,]    5    6    3
## [4,]    7    8    4
## [5,]    9   10    5

Ví dụ:

Chúng ta cũng có thể thêm cột vào ma trận R nhiều lần. Chúng ta hãy xem dãy số tiếp theo của ma trận Matrix_a2. Kích thước của ma trận mới trong R sẽ là 4×6 với số từ 1 đến 24.

matrix_a2 <-matrix(13:24, byrow = FALSE, ncol = 3)

Đầu ra:

##      [,1] [,2] [,3]
## [1,]   13   17   21
## [2,]   14   18   22
## [3,]   15   19   23
## [4,]   16   20   24

Ví dụ:

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)		
matrix_d <- cbind(matrix_a2, matrix_c)
dim(matrix_d)

Đầu ra:

## [1] 4 6

LƯU Ý: Số hàng ma trận trong R phải bằng nhau đối với công việc cbind

cbind() nối các cột, rbind() nối các hàng. Hãy thêm một hàng vào ma trận Matrix_c của chúng tôi và xác minh kích thước là 5×3

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)
# Create a vector of 3 columns
add_row <- c(1:3)
# Append to the matrix
matrix_c <- rbind(matrix_c, add_row)
# Check the dimension
dim(matrix_c)

Đầu ra:

## [1] 5 3

Cắt một ma trận

Chúng ta có thể chọn các phần tử một hoặc nhiều phần tử từ một ma trận theo Lập trình R bằng cách sử dụng dấu ngoặc vuông [ ]. Đây là nơi mà việc cắt lát xuất hiện.

Ví dụ:

  • Matrix_c[1,2] chọn phần tử ở hàng đầu tiên và cột thứ hai.
  • Matrix_c[1:3,2:3] dẫn đến ma trận lát cắt R với dữ liệu trên các hàng 1, 2, 3 và cột 2, 3,
  • Matrix_c[,1] chọn tất cả các phần tử của cột đầu tiên.
  • Matrix_c[1,] chọn tất cả các phần tử của hàng đầu tiên.

Đây là kết quả bạn nhận được cho các mã trên

Cắt một ma trận

Tóm tắt bài viết này với: