Menu
×
   ❮     
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")
自己试试 »

参数还是参数?

术语“参数”和“参数”可以指代同一件事:传递给函数的信息。

从函数的角度来看

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

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



参数数量

默认情况下,必须使用正确的参数数量调用函数。这意味着,如果你的函数需要 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


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.