菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

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, "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() # 将获得默认值,即 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


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持