A function is a block of code which only runs when it is called.
You can pass data, known as parameters, into a function.
A function can return data as a result.
To create a function, use the function()
keyword:
my_function <- function() { # create a function with the name my_function
print("Hello World!")
}
To call a function, use the function name followed by parenthesis, like my_function():
my_function <- function() {
print("Hello World!")
}
my_function() # call the function named my_function
Try it Yourself »
Information can be passed into functions as arguments.
Arguments are specified after the function name, inside the parentheses. You can add as many arguments as you want, just separate them with a comma.
The following example has a function with one argument (fname). When the function is called, we pass along a first name, which is used inside the function to print the full name:
my_function <- function(fname) {
paste(fname, "Griffin")
}
my_function("Peter")
my_function("Lois")
my_function("Stewie")
Try it Yourself »
The terms "parameter" and "argument" can be used for the same thing: information that are passed into a function.
From a function's perspective:
A parameter is the variable listed inside the parentheses in the function definition.
An argument is the value that is sent to the function when it is called.
By default, a function must be called with the correct number of arguments. Meaning that if your function expects 2 arguments, you have to call the function with 2 arguments, not more, and not less:
This function expects 2 arguments, and gets 2 arguments:
my_function <- function(fname, lname) {
paste(fname, lname)
}
my_function("Peter", "Griffin")
Try it Yourself »
If you try to call the function with 1 or 3 arguments, you will get an error:
This function expects 2 arguments, and gets 1 argument:
my_function <- function(fname, lname) {
paste(fname, lname)
}
my_function("Peter")
Try it Yourself »
The following example shows how to use a default parameter value.
If we call the function without an argument, it uses the default value:
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")
Try it Yourself »
To let a function return a result, use the return()
function:
my_function <- function(x) {
return (5 * x)
}
print(my_function(3))
print(my_function(5))
print(my_function(9))
Try it Yourself »
The output of the code above will be:
[1] 15
[1] 25
[1] 45
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!