R 函数
函数是一块代码,只有在被调用时才会运行。
你可以将数据(称为参数)传递给函数。
函数可以返回数据作为结果。
创建函数
要创建函数,请使用 function()
关键字
例子
my_function <- function() { # 创建一个名为 my_function 的函数
print("Hello World!")
}
调用函数
要调用函数,请使用函数名后跟括号,例如 my_function()
参数
信息可以作为参数传递给函数。
参数在函数名后、括号内指定。你可以添加任意数量的参数,只需用逗号分隔。
以下示例包含一个带有一个参数 (fname) 的函数。当调用该函数时,我们传递一个名字,该名字在函数内部用于打印全名
例子
my_function <- function(fname) {
paste(fname, "Griffin")
}
my_function("Peter")
my_function("Lois")
my_function("Stewie")
自己试试 »
参数还是参数?
术语“参数”和“参数”可以指代同一件事:传递给函数的信息。
从函数的角度来看
参数是在函数定义中括号内列出的变量。
参数是在调用函数时发送给函数的值。
参数数量
默认情况下,必须使用正确的参数数量调用函数。这意味着,如果你的函数需要 2 个参数,你必须使用 2 个参数调用该函数,不多不少
例子
此函数需要 2 个参数,并得到 2 个参数
my_function <- function(fname, lname) {
paste(fname, lname)
}
my_function("Peter", "Griffin")
自己试试 »
如果你尝试使用 1 个或 3 个参数调用该函数,你将收到错误
例子
此函数需要 2 个参数,但只得到 1 个参数
my_function <- function(fname, lname) {
paste(fname, lname)
}
my_function("Peter")
自己试试 »
默认参数值
以下示例展示了如何使用默认参数值。
如果我们不带参数调用函数,它将使用默认值
例子
my_function <- function(country = "Norway") {
paste("I am from", country)
}
my_function("Sweden")
my_function("India")
my_function() # 将获得默认值,即挪威
my_function("USA")
自己试试 »
返回值
要让函数返回结果,请使用 return()
函数
例子
my_function <- function(x) {
return (5 * x)
}
print(my_function(3))
print(my_function(5))
print(my_function(9))
自己试试 »
上面代码的输出将是
[1] 15
[1] 25
[1] 45