R 函数
函数是一个仅在被调用时运行的代码块。
您可以将数据(称为参数)传递给函数。
函数可以返回数据作为结果。
创建函数
要创建函数,请使用 function()
关键字:
实例
my_function <- function() { # 创建一个名为 my_function 的函数 print("Hello World!") }
调用函数
要调用函数,请使用函数名称后跟括号,例如 my_function():
实例
my_function <- function() { print("Hello World!") } my_function() # 调用名为 my_function 的函数
参数
信息可以作为参数传递给函数。
参数在函数名称后面的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔它们即可。
下例有一个带有一个参数 (fname
) 的函数。调用函数时,我们传递一个名字,该名字在函数内部用于打印全名:
实例
my_function <- function(fname) { paste(fname, "Gates") } my_function("Bill") my_function("Elon") my_function("Steve")
参数还是实参?
术语“参数”和“参数”可用于同一事物:传递到函数中的信息。
从函数的角度来看:
参数(parameter)是函数定义中括号内列出的变量。
实参(argument)是调用函数时发送给函数的值。
实参数量
默认情况下,必须使用正确数量的参数调用函数。这意味着如果您的函数需要 2 个参数,则必须使用 2 个参数调用该函数,不能多也不能少:
实例
该函数需要 2 个参数,并获取 2 个参数:
my_function <- function(fname, lname) { paste(fname, lname) } my_function("Bill", "Gates")
如果您尝试使用 1 或 3 个参数调用该函数,则会出现错误:
实例
该函数需要 2 个参数,但只得到 1 个参数:
my_function <- function(fname, lname) { paste(fname, lname) } my_function("Bill")
默认参数值
以下示例显示如何使用默认参数值。
如果我们调用不带参数的函数,它将使用默认值:
实例
my_function <- function(country = "China") { paste("I am from", country) } my_function("Sweden") my_function("India") my_function() # 将获得默认值,即 China 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