Rate this post

Với hướng dẫn này, bạn sẽ hiểu đầy đủ về các đối số của hàm R. Đầu tiên, chúng ta sẽ thảo luận về các đối số trong ngôn ngữ R và quy trình để thêm nhiều đối số hơn trong R. Bạn cũng sẽ học cách thêm đối số mult và giá trị mặc định trong R và cách sử dụng đối số dấu chấm, hàm như một đối số và các hàm ẩn danh trong R.

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

Đối số trong ngôn ngữ lập trình R

Các đối số luôn được đặt tên khi bạn xác định một hàm. Khi bạn gọi một hàm, bạn không phải chỉ định tên của đối số. Đối số là tùy chọn; bạn không cần phải chỉ định giá trị cho chúng. Chúng có thể có giá trị mặc định, được sử dụng nếu bạn không tự chỉ định giá trị cho đối số đó. Bạn có thể sử dụng bao nhiêu đối số tùy thích, không giới hạn số lượng đối số. Danh sách đối số bao gồm các giá trị được phân tách bằng dấu phẩy chứa các đối số chính thức khác nhau.

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

Thêm các đối số khác trong R

Để chuyển các giá trị cho một hàm, bạn có thể sử dụng nhiều đối số R nếu cần. Đầu tiên, chúng ta sẽ tạo addPercent hàm chung của chúng ta như sau:

addPercent <- function(x, mult = 100, ...){
 percent <- round(x*mult, ...)
 paste(percent, "%", sep = "")
}

Hàm addPercent  chuyển đổi giá trị thành phần trăm. Khi các số được tính ở dạng phần trăm, thì trước tiên bạn sẽ phải chia các số này cho 100 để có kết quả chính xác.

> percentages <- c(58.23, 120.4, 33)
> addPercent(percentages/100)

Đầu ra:

Đây là cách có thể thêm nhiều đối số hơn vào một hàm.

Đó là một cách khá tốt, nhưng bạn có thể tránh điều này bằng cách thêm một đối số khác vào hàm điều khiển hệ số nhân.

Thêm đối số mult trong R

Bây giờ, chúng ta biết rằng để thêm các đối số bổ sung, chúng ta cần đưa chúng vào giữa các dấu ngoặc đơn sau từ khóa function. Chúng tôi phân tách các đối số bằng dấu phẩy. Hãy thảo luận về nó với một ví dụ:

Mã để thêm đối số mult được hiển thị bên dưới:

addPercent <- function(x, mult ){
 percent <- round(x*mult,  digits = 1
 paste(percent, "%", sep = ""
}

Đầu ra:

Thêm giá trị mặc định trong R

Chỉ định một giá trị mặc định cho một đối số giúp bạn bỏ nhiệm vụ chỉ định một giá trị mỗi khi bạn thực hiện một lệnh gọi hàm.

Việc thêm một đối số bổ sung cho phép bạn kiểm soát nhiều hơn những gì hàm thực hiện, nhưng nó cũng đưa ra một vấn đề mới – Nếu bạn không chỉ định đối số mult trong hàm addPercent , nó sẽ đưa ra lỗi là “ mult is missing ”.

R không có cách nào để biết số nào bạn muốn nhân với x, vì vậy nó dừng lại và cho bạn biết rằng nó cần thêm thông tin.

Bạn có thể chỉ định giá trị mặc định cho mọi bất đồng trong danh sách đối số bằng cách thêm dấu = và giá trị mặc định sau đối số tương ứng.

Bạn có thể chỉ định một giá trị mặc định cho đối số mult để tránh chỉ định mult = 100 mọi lúc.

addPercent <- function(x, mult = 100){
percent <- round(x * mult, digits = 1)
paste(percent, "%", sep = "")
}

Đầu ra:

Sử dụng đối số dấu chấm trong R

Loại đối số đặc biệt ‘…’ có thể chứa bất kỳ số lượng đối số được cung cấp nào. Nó được sử dụng cho nhiều mục đích khác nhau và cho phép bạn viết một hàm nhận một số lượng đối số tùy ý.

Nếu bạn có một số đối số và bạn chuyển chúng cho các hàm khác bên trong phần thân, bạn sẽ có một danh sách dài các đối số. Do đó, thay vì điều này, bạn có thể sử dụng đối số dấu chấm.

Bạn sử dụng đối số dấu chấm bằng cách thêm nó vào cuối danh sách đối số của hàm của riêng bạn và ở cuối đối số cho hàm, bạn muốn chuyển đối số tới.

Hãy để chúng tôi xem cách chúng tôi có thể sử dụng đối số dấu chấm trong R :

addPercent <- function(x, mult = 100, ...){  
percent <- round(x * mult, ...)
paste(percent, "%", sep = "")
}

Đầu ra:

R cho phép bạn sử dụng đối số dấu chấm trong nhiều hàm trong phần nội dung. Tuy nhiên, trước khi truyền các đối số cho nhiều hơn một hàm trong phần thân, bạn phải chắc chắn rằng điều này sẽ không gây ra bất kỳ rắc rối nào. R chuyển các đối số bổ sung cho mỗi hàm và phàn nàn về kết quả lộn xộn sau đó.

Sử dụng các hàm làm đối số

Trong R, bạn có thể truyền một hàm làm đối số. Bạn cũng có thể chuyển mã hàm cho một đối số.

Sau đó, bạn có thể gán mã hoàn chỉnh của một hàm cho một đối tượng mới.

Trong ví dụ trên về làm tròn giá trị, bạn có thể chuyển hàm round () làm đối số cho hàm addPercent () như bên dưới:

addPercent <- function(x, mult = 100, FUN = round, ...){      
percent <- FUN(x * mult, ...)    
paste(percent, "%", sep = "")
}

Đầu ra:

Sử dụng các hàm ẩn danh trong R

Bất kỳ hàm nào không có tên được gọi là hàm ẩn danh. Chúng có thể được sử dụng cho 1 mã lót. Bạn có thể thêm mã làm đối số trong hàm ẩn danh .

Trong ví dụ trước, bạn có thể sử dụng bất kỳ hàm nào bạn muốn cho đối số FUN. Trong thực tế, chức năng đó thậm chí không cần phải có tên, bởi vì bạn sao chép mã như nó vốn có. Vì vậy, thay vì đặt tên hàm, bạn có thể thêm mã làm đối số dưới dạng một hàm không tên hoặc ẩn danh.

Hãy để chúng tôi xem điều này với một ví dụ:

Giả sử, bạn có lợi nhuận hàng quý của công ty mình trong một vectơ như sau:

> profits <- c(2100, 1430, 3580, 5230)

Và, bạn muốn báo cáo số lợi nhuận đã tạo ra trong mỗi quý so với tổng số trong năm. Đối với điều này, bạn sẽ phải sử dụng hàm addPercent () mới của mình . Để tính toán lợi nhuận tương đối, bạn có thể viết một hàm rel.profit () như sau:

>rel.profit <- function(x) round(x / sum(x) * 100)

Thay vì sử dụng tên hàm, bạn có thể sử dụng chính thân hàm làm đối số.

> addPercent(profits,FUN = function(x) round(x / sum(x) * 100))

Đầu ra:

Trong một số trường hợp, cấu trúc này với các hàm ẩn danh rất hữu ích, đặc biệt khi bạn muốn sử dụng các hàm chỉ có thể được viết bằng một đoạn mã nhỏ và không được sử dụng ở bất kỳ nơi nào khác trong tập lệnh của bạn.

Bản tóm tắt

Chúng ta đã tìm hiểu về tất cả các đối số được sử dụng trong ngôn ngữ lập trình R. Như bạn có thể thấy, chúng rất hữu ích và nó cũng giảm bớt sự phức tạp cho các lập trình viên.

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