R语言 函数
当你想多次执行某项任务时,函数很有用。一个函数接受输入参数,并通过执行函数中的有效R命令来产生输出。在R编程语言中,当你创建一个函数时,函数名称和创建函数的文件不需要相同,你可以在一个R文件中拥有一个或多个函数定义。
R语言 函数类型
- 内置函数: R语言的内置函数是sq()、mean()、max(),这些函数可以由用户在程序中直接调用。
- 用户定义的函数: R语言允许我们编写自己的函数。
R语言 函数
在R语言中,函数是通过 function() 命令创建的 。 函数文件的一般结构如下。
注意: 在上述语法中,f是函数名称,这意味着你正在创建一个名称为f的函数,它接受某些参数并执行以下语句。
R编程语言中的内置函数
这里我们将使用sum()、max()和min()等内置函数。
输出
R编程语言中的用户定义函数
R提供了内置函数,如 print() 、 cat() 等,但我们也可以创建自己的函数。这些函数被称为用户定义的函数。
例子 :
输出
单一输入单一输出
现在在R中创建一个函数,它将接受一个单一的输入,并给我们一个单一的输出。
下面是一个例子,创建一个计算圆的面积的函数,它的参数是半径。因此,要创建一个函数,将该函数命名为 “areaOfCircle”,需要传递的参数是圆的 “半径”。
输出
多输入多输出
现在在R语言中创建一个函数,该函数将接受多个输入,并使用一个列表给我们多个输出。
R语言中的函数接受多个输入对象,但只返回一个对象作为输出,然而这并不是一个限制,因为你可以创建所有你想创建的输出的列表,一旦列表被创建,你可以访问它们到列表中的元素,并得到你想要的答案。
让我们考虑一下这个例子,创建一个函数 “Rectangle”,它接收矩形的 “长度 “和 “宽度 “并返回该矩形的面积和周长。由于R语言只能返回一个对象。因此,创建一个对象,即包含 “面积 “和 “周长 “的列表,并返回该列表。
输出
R编程语言中的内联函数
有时候,当你想创建一个非常小的函数时,创建一个R脚本文件、加载它、执行它是一个很大的工作。因此,在这种情况下,我们可以做的是内联函数。
要创建一个内联函数,你必须使用带有参数x的函数命令,然后是函数的表达式。
例子
输出
在R编程语言中向函数传递参数
有几种方法可以将参数传递给函数。
- 情况1 :一般来说,在R语言中,参数是按照函数定义中的相同顺序传递给函数的。
- 情况2 :如果你不想遵循任何顺序,你可以做的是用参数的名字按任何顺序传递参数。
- 情况3 :如果没有传递参数,将使用默认值来执行函数。
现在,让我们看看以下R代码中这些情况的例子。
输出
R编程语言中的函数的懒惰评估
在R语言中,函数是以一种懒惰的方式执行的。当我们说懒惰的时候,它的意思是如果缺少一些参数,只要执行时不涉及这些参数,函数仍然可以执行。
举个例子
在下面给出的函数 “圆柱体 “中。函数中定义了三个参数 “直径”、”长度 “和 “半径”,在计算体积时不涉及 “半径 “这个参数。现在,当你传递这个参数 “直径 “和 “长度 “时,即使你没有传递这个 “半径”,函数仍然会执行,因为这个半径没有在函数的计算中使用。
让我们用下面的R代码来说明。
输出
如果你没有传递这个参数,然后在函数的定义中使用它,它将抛出一个错误,即这个 “半径 “没有被传递,而在函数定义中被使用。
例子
输出