Chức năng R
Hàm là một khối mã chỉ chạy khi được gọi.
Bạn có thể truyền dữ liệu, được gọi là tham số, vào một hàm.
Kết quả là một hàm có thể trả về dữ liệu.
Tạo một hàm
Để tạo một hàm, hãy sử dụng từ khóa function()
:
Ví dụ
my_function <- function() { # create a function with the name my_function
print("Hello World!")
}
Gọi một hàm
Để gọi một hàm, hãy sử dụng tên hàm theo sau là dấu ngoặc đơn, như my_function() :
Ví dụ
my_function <- function() {
print("Hello World!")
}
my_function() # call the function named my_function
Hãy tự mình thử »Tranh luận
Thông tin có thể được chuyển vào các hàm dưới dạng đối số.
Các đối số được chỉ định sau tên hàm, bên trong dấu ngoặc đơn. Bạn có thể thêm bao nhiêu đối số tùy thích, chỉ cần phân tách chúng bằng dấu phẩy.
Ví dụ sau đây có một hàm có một đối số (fname). Khi hàm được gọi, chúng ta chuyển vào tên, tên này được sử dụng bên trong hàm để in tên đầy đủ:
Ví dụ
my_function <- function(fname) {
paste(fname, "Griffin")
}
my_function("Peter")
my_function("Lois")
my_function("Stewie")
Hãy tự mình thử »Tham số hay đối số?
Các thuật ngữ "tham số" và "đối số" có thể được sử dụng cho cùng một mục đích: thông tin được truyền vào hàm.
Từ quan điểm của một chức năng:
Tham số là biến được liệt kê bên trong dấu ngoặc đơn trong định nghĩa hàm.
Đối số là giá trị được gửi đến hàm khi nó được gọi.
Số lượng đối số
Theo mặc định, một hàm phải được gọi với số lượng đối số chính xác. Có nghĩa là nếu hàm của bạn cần có 2 đối số, bạn phải gọi hàm với 2 đối số, không nhiều hơn cũng không ít hơn:
Ví dụ
Hàm này mong đợi 2 đối số và nhận được 2 đối số:
my_function <- function(fname, lname) {
paste(fname, lname)
}
my_function("Peter", "Griffin")
Hãy tự mình thử »Nếu bạn cố gắng gọi hàm với 1 hoặc 3 đối số, bạn sẽ gặp lỗi:
Ví dụ
Hàm này mong đợi 2 đối số và nhận được 1 đối số:
my_function <- function(fname, lname) {
paste(fname, lname)
}
my_function("Peter")
Hãy tự mình thử »Giá trị tham số mặc định
Ví dụ sau đây cho thấy cách sử dụng giá trị tham số mặc định.
Nếu chúng ta gọi hàm mà không có đối số, nó sẽ sử dụng giá trị mặc định:
Ví dụ
my_function <- function(country = "Norway") {
paste("I am
from", country)
}
my_function("Sweden")
my_function("India")
my_function()
# will get the default value, which is Norway
my_function("USA")
Hãy tự mình thử »Giá trị trả về
Để cho phép một hàm trả về kết quả, hãy sử dụng hàm return()
:
Ví dụ
my_function <- function(x) {
return (5 * x)
}
print(my_function(3))
print(my_function(5))
print(my_function(9))
Hãy tự mình thử »Đầu ra của đoạn mã trên sẽ là:
[1] 15
[1] 25
[1] 45