R 函数


函数是一个仅在被调用时运行的代码块。

您可以将数据(称为参数)传递到函数中。

函数可以返回数据作为结果。


创建函数

要创建函数,请使用function()关键字:

示例

my_function <- function() { # create a function with the name my_function
  print("Hello World!")
}

调用函数

要调用函数,请使用函数名称后跟括号,例如我的函数():

示例

my_function <- function() {
  print("Hello World!")
}

my_function() # call the function named my_function
亲自试一试 »

论据

信息可以作为参数传递到函数中。

参数在函数名称后面的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔它们即可。

以下示例有一个带有一个参数 (fname) 的函数。调用函数时,我们传递一个名字,该名字在函数内部用于打印全名:

示例

my_function <- function(fname) {
  paste(fname, "Griffin")
}

my_function("Peter")
my_function("Lois")
my_function("Stewie")
亲自试一试 »

参数还是参数?

术语 "parameter" 和 "argument" 可用于同一事物:传递到函数中的信息。

从函数的角度来看:

参数是函数定义中括号内列出的变量。

参数是调用函数时发送给函数的值。



参数数量

默认情况下,必须使用正确数量的参数调用函数。这意味着如果您的函数需要 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() # will get the default value, which is Norway
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