一起组织以执行特定任务的一组语句称为函数。 R提供了一系列内置函数,它允许用户创建自己的函数。函数用于以模块化方式执行任务。
函数用于避免重复相同的任务并降低复杂性。为了理解和维护我们的代码,我们使用该函数在逻辑上将其分解为较小的部分。一个函数应该是
func_name <- function(arg_1, arg_2, ...) {
Function body
}
函数包括四个部分,如下所示:
函数名称(Function Name)
函数名称是函数的实际名称。在R中,该函数及其名称存储为一个对象。
链接:https://www.learnfk.comhttps://www.learnfk.com/R/r-functions.html
来源:LearnFk无涯教程网
参数(Arguments)
在R中,参数是一个占位符。在函数中,参数是可选的,这意味着函数可以包含也可以不包含参数,并且这些参数也可以具有默认值。调用函数时,我们将值传递给参数。
函数主体(Function Body)
函数主体包含一组定义函数函数的语句。
返回值(Return value)
它是函数主体中的最后一个表达式。
与其他语言类似,R也具有两种类型的函数,即内置函数和用户定义的函数。在R中,有很多内置函数,我们可以直接在程序中调用它们而无需定义它们。 R还允许我们创建自己的函数。
在编程框架中已经创建或定义的函数称为内置函数。用户不需要创建这些类型的函数,并且这些函数内置于应用程序中。最终用户只需调用即可访问这些函数。 R具有不同类型的内置函数,例如seq(),mean(),max()和sum(x)等。
# 创建从 32 到 46 的数字序列。 print(seq(32,46)) # 求从 22 到 80 的数字的平均值。 print(mean(22:80)) # 求从 41 到 70 的数字之和。 print(sum(41:70))
输出:
R允许我们在程序中创建自己的函数。用户定义用户定义函数以满足用户需求。一旦创建了这些函数,我们就可以使用这些函数,例如内置函数。
# 创建一个没有参数的函数。 learnfk.function <- function() { for(i in 1:5) { print(i^2) } } learnfk.function()
输出:
我们可以通过在函数中传递适当的参数来轻松地调用函数。让我们看一个示例,看看如何调用函数。
# 创建一个函数来按顺序打印数字的平方。 learnfk.function <- function(a) { for(i in 1:a) { b <- i^2 print(b) } } # 调用函数 learnfk.function,将 10 作为参数。 learnfk.function(10)
输出:
在R中,我们可以通过以下方式调用不带参数的函数
# 创建一个函数来按顺序打印数字的平方。 learnfk.function <- function() { for(i in 1:5) { a <- i^2 print(a) } } # 不带参数调用函数 learnfk.function。 learnfk.function()
输出:
我们可以按照与函数中定义的顺序相同的顺序将其提供给函数调用,也可以按不同的顺序提供,但将其分配给参数的名称。
# 创建带参数的函数。 learnfk.function <- function(x,y,z) { result <- x * y + z print(result) } # 通过参数的位置调用函数。 learnfk.function(11,13,9) # 通过参数名称调用函数。 learnfk.function(x = 2, y = 5, z = 3)
输出:
为了获得默认结果,我们将值分配给函数定义中的参数,然后在不提供参数的情况下调用函数。如果我们在函数调用中传递任何参数,则它将被函数定义中参数的默认值替换。
# 创建带参数的函数。 learnfk.function <- function(x = 11, y = 24) { result <- x * y print(result) } # 在不提供任何参数的情况下调用函数。 learnfk.function() # 调用函数并给出参数的新值。 learnfk.function(4,6)
输出:
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)