Rate this post

Trong hướng dẫn này, chúng ta sẽ đề cập đến các hàm được áp dụng cho ma trận trong R, tức là hàm apply () và sapply (). Ngoài ra, chúng ta sẽ xem cách sử dụng các hàm này của ma trận R với sự trợ giúp của các ví dụ.

Các bài viết liên quan:

Vì vậy, chúng ta hãy bắt đầu khám phá các hàm ma trận trong R.

Ma trận R và Hàm ma trận trong R là gì?

Trước hết, chúng ta hãy xem lại ma trận là gì. Ma trận là một tập dữ liệu hình chữ nhật hai chiều. Do đó, nó có thể được tạo bằng cách sử dụng đầu vào vector vào hàm ma trận. Ngoài ra, ma trận là một tập hợp các số được sắp xếp thành một số hàng và cột cố định . Các số có trong ma trận là số thực. Sau đó chúng ta tiến hành sao chép bộ nhớ của ma trận bằng cách sử dụng hàm ma trận. Do đó, các phần tử dữ liệu phải có cùng kiểu cơ bản. Các hàm ma trận là những hàm mà chúng ta sử dụng trong ma trận.

Có hai loại hàm ma trận trong R:

  • apply()
  • sapply ()

Trong đoạn trên, chúng ta đã thảo luận về ma trận R. Bây giờ chúng ta hãy tiến hành tìm hiểu chi tiết về các dạng của hàm ma trận trong R.

Bạn phải tìm hiểu về Các phép toán vectơ trong R

Hàm apply () trong R là gì?

Bây giờ chúng ta hãy hiểu về hàm apply () R và cách sử dụng của nó với các ví dụ.

Hàm apply () trong R

Nó áp dụng các chức năng trên lề mảng. Nó trả về một vectơ hoặc mảng hoặc danh sách các giá trị thu được bằng cách áp dụng một hàm cho các lề của một mảng hoặc ma trận.

  • Keywords –  mảng, lặp
  • Usage –  áp dụng (X, MARGIN, FUN,…)

Các đối số – Các đối số cho hàm apply trong R được giải thích bên dưới:

  • X –  một mảng, bao gồm một ma trận.
  • … –  đối số tùy chọn để FUN.
  • FUN –  Chức năng áp dụng: xem ‘Chi tiết’.
  • MARGIN –  Các hàm sẽ áp dụng trên các chỉ số con trong một vectơ.

Ví dụ –  Ma trận 1 chỉ hàng, ma trận 2 chỉ cột, ma trận c (1, 2) chỉ hàng và cột. Trong đó, X được đặt tên là dimnames và nó có thể là một vector ký tự chọn tên thứ nguyên.

Họ apply ()

Các hàm apply() là một họ các hàm trong cơ sở R, cho phép chúng ta thực hiện các hành động trên nhiều phần dữ liệu. Một hàm áp dụng là một vòng lặp, nhưng nó chạy nhanh hơn các vòng lặp và thường ít mã hơn. Và, có các hàm apply () khác nhau.

Hàm được gọi có thể là:

  • Một số hàm tổng hợp bao gồm ý nghĩa hoặc tổng (bao gồm trả về một số hoặc vô hướng).
  • Các chức năng biến đổi hoặc tập hợp con khác.
  • Một số hàm vectơ trả về các cấu trúc phức tạp hơn như danh sách, vectơ, ma trận và mảng.

Chúng ta có thể thực hiện các thao tác với rất ít dòng mã trong apply ().

Bạn đã kiểm tra chưa – Hàm R Array

Cách sử dụng hàm apply () trong R?

Vì vậy, chúng ta hãy bắt đầu với apply (), hoạt động trên các mảng:

Function apply() trong R ví dụ

my.matrx là ma trận có 1-5 trong cột 1, 6-10 trong cột 2 và 11-15 trong cột 3 . my.matrx được sử dụng để hiển thị một số cách sử dụng cơ bản của hàm áp dụng.

my.matrx <- matrix(c(1:5, 6:10, 11:15), nrow = 5, ncol = 3)
my.matrx

Đầu ra:

Ví dụ 1: Sử dụng ứng dụng để tìm tổng của hàng

Chúng ta sẽ tóm tắt dữ liệu trong ma trận m bằng cách tìm tổng của mỗi hàng. Các đối số là; X = m, MARGIN = 1 (cho hàng) và FUN = tổng.

apply(my.matrx, 1, sum)

Nó sẽ trả về một vectơ chứa tổng cho mỗi hàng.

Ví dụ 2: Tạo một hàm trong các đối số

Bây giờ, chúng ta sẽ tìm xem có bao nhiêu điểm dữ liệu (n) trong mỗi cột của m bằng cách sử dụng các cột, MARGIN = 2. Do đó, chúng ta có thể sử dụng hàm độ dài để thực hiện việc này.

apply(my.matrx, 2, length)

Không có một hàm nào trong R để tìm n-1 cho mỗi cột. Vì vậy, nếu chúng ta muốn tạo một hàm của riêng mình và nếu hàm đơn giản, bạn có thể tạo nó ngay bên trong các đối số để áp dụng. Trong các đối số, chúng tôi đã tạo một hàm trả về độ dài – 1.

apply(my.matrx, 2, function (x) length(x)-1)

Như chúng ta đã thấy, hàm trả về một vectơ là n-1 cho mỗi cột.

Ví dụ 3: Chuyển đổi dữ liệu

Trong các ví dụ trước, chúng tôi đã sử dụng áp dụng để tóm tắt trên một hàng hoặc cột. Chúng ta cũng có thể sử dụng áp dụng để lặp lại một hàm trên các ô trong ma trận. Bây giờ, trong ví dụ này, chúng ta sẽ học cách sử dụng hàm apply để biến đổi các giá trị trong mỗi ô. Hãy chú ý nhiều hơn đến đối số MARGIN.

my.matrx2 <- apply(my.matrx,1:2, function(x) x+3).
my.matrx2

Đầu ra:

Ví dụ 4: Vectơ

Trong các ví dụ trước, chúng ta đã học một số cách để sử dụng hàm apply trên ma trận. Nhưng nếu chúng ta muốn lặp nó qua một vectơ thì sao? Chức năng áp dụng có hoạt động không? Hãy kiểm tra.

vec <- c(1:5)
vec

Đầu ra:

Khi chúng ta chạy hàm này, nó sẽ trả về lỗi: Error in apply (v, 1, sum): dim (X) phải có độ dài dương. Như chúng ta có thể thấy, điều này không hoạt động vì ứng dụng đang mong đợi dữ liệu có ít nhất hai thứ nguyên. Nếu chúng ta đang sử dụng dữ liệu trong một vectơ, chúng ta cần sử dụng lapply, sapply hoặc vapply để thay thế.

Bất kỳ nghi ngờ nào trong Hàm ma trận R cho đến bây giờ? Hãy bình luận bên dưới.

Hàm sapply () trong R là gì?

Nó là một biến thể bảo tồn thứ nguyên của “sapply” và “lapply”.

sapply là một phiên bản thân thiện với người dùng và là một trình bao bọc của lapply. Theo mặc định, sapply trả về một vectơ, ma trận hoặc một mảng.

  • Keywords – Khác  , tiện ích
  • Usage –  Sapply (X, FUN,…, simple = TRUE, USE.NAMES = TRUE)
    Lapply (X, FUN,…)

Đối số – Các đối số được sử dụng trong hàm sapply () được thảo luận dưới đây:

  • X –  Nó là một vectơ hoặc danh sách để gọi sapply.
  • FUN – Một chức năng.
  • … – Các đối số tùy chọn để FUN.
  • simplify –  Nó là một giá trị lôgic xác định liệu một kết quả có được đơn giản hóa thành một vectơ hoặc ma trận hay không (nếu có thể).
  • USE.NAMES – Lôgic; nếu nó là TRUE và X là một ký tự, thì hãy sử dụng X làm tên cho kết quả trừ khi nó đã có tên.

Làm thế nào để sử dụng hàm sapply () trong R?

Hàm sapply () áp dụng một hàm cho margin của một mảng hoặc ma trận.

Cách sử dụng –  sapply (x, func,…, simple = TRUE, USE.NAMES = TRUE)

Hàm sapply trong R Ví dụ:

> BOD     #R built-in dataset, Biochemical Oxygen Demand

Đầu ra:

Tổng cho mỗi hàng:

sapply(BOD, sum)

Nhân tất cả các giá trị với 10:

> sapply(BOD,function(x) 10 * x)

Được sử dụng cho mảng, đặt lề thành 1:

x <- array(1:9)
> sapply(x,function(x) x * 10)

Mảng hai chiều, lề có thể là 1 hoặc 2:

> x <- array(1:9,c(3,3))
> x
> sapply(x,function(x) x * 10)
> sapply(c(1:3), function(x) x^2)

Đầu ra:

Bản tóm tắt

Chúng ta đã nghiên cứu chi tiết về hàm ma trận R. Ngoài ra, chúng tôi đã thảo luận về các cách sử dụng, ví dụ hứa hẹn nhất của nó và cách hàm được áp dụng trên các kiểu dữ liệu. Hơn nữa, trong hướng dẫn này, chúng ta đã thảo luận về hàm hai ma trận trong R; apply () và sapply () với cách sử dụng và ví dụ của nó. Do đó, thông tin mà chúng ta đã thảo luận trong hướng dẫn này là đủ để tìm hiểu ma trận và các hàm của nó trong R.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now