R编程中的函数是一段代码或一段逻辑,用花括号{}括起来,用于执行特定操作。在本教程中,我们已经见过一些函数,您可能没有注意到它们。
例如,print、abs、sqrt等是此编程语言中的一些内置函数,其语法如下。
R函数语法
Name <- function(arguments) {
Local Variable Declaration;
Logic;
Executable Statement 1;
……
Executable Statement n;
}
函数语法的参数是
- 名称:可以是您希望给出的任何名称。避免使用系统保留关键字。
- 参数:每个方法接受0个或多个参数,这完全取决于用户的需求。例如,add(2, 3)。
- 局部变量声明:我们可能需要一些临时变量在特定方法内进行操作。然后我们可以在其中声明这些变量。请记住,这些变量仅在此方法内可用;我们无法在方法外部访问它们。
- 逻辑:任何您想实现的数学或其他计算。
- 可执行语句:任何打印语句,用于从此特定方法打印一些数据。
R函数类型
此编程语言中有两种类型的函数
- 所有内置函数都由语言或称为库函数的包支持。最好不要担心库方法内部的逻辑。在我们之前的文章中,我们使用了许多库方法,如print()、sqrt()等。
- 用户自定义:除了依赖内置函数外,此编程还允许我们创建自己的函数,称为用户自定义函数。例如,如果我们想计算销售利润或任何数学计算。然后我们可以将它们放在具有适当名称的单独方法中,之后可以多次调用它们。
R函数的好处
- 函数帮助我们将大型程序分解为小型组。因此,我们可以更快、更好地调试程序。
- 多个人可以通过为每个人分配不同的方法来处理同一个程序。
- 我们可以多次(一遍又一遍)调用同一个方法。
- 代码重用:避免我们多次编写相同的逻辑。
R函数声明
我们遵循了一些规则,例如声明、定义和调用它来实现此功能。我们可以按如下方式声明函数
add <- function(x, y) {
}
调用
这无非就是用有效数量的参数调用原始函数。例如,add(2, 3)
注意:用户自定义方法的名称应与调用它的名称完全匹配。
R函数定义
这是我们将放置所有逻辑、计算等的地方。我们可以将此定义放在main()之前或main()之后。
add.numbers <- function(a, b)
{
return(a + b)
}
add.numbers(10, 20)

典型方式 – 详细说明
add.numbers <- function(a, b)
{
Sum <- 0
Sum = a + b
return (Sum)
}
add.numbers(50, 70)

注意:如果您定义的函数返回类型不是void,请不要忘记return关键字。
三个数字的和与平均值
在此R程序中,我们使用函数计算三个数字的和与平均值。
sum.numbers <- function(a, b, c)
{
Sum = a + b + c
Average = Sum/3
print(paste("Sum of ",a, ",", b, ",", c, "is = ", Sum))
print(paste("Average of ",a, ",", b, ",", c, "is = ", Average))
}
sum.numbers(20, 10, 70)

或者我们可以让用户输入a、b和c的值
sum.numbers <- function(a, b, c)
{
a <- readline(prompt="Enter a Value: ")
b <- readline(prompt="Enter b Value: ")
c <- readline(prompt="Enter c Value: ")
# convert character into integer
a <- as.integer(a)
b <- as.integer(b)
c <- as.integer(c)
Sum = a+b+c
Average = Sum/3
print(paste("Sum of ",a, ",",b, ",", c, "is = ", Sum))
print(paste("Average of ",a, ",", b, ",", c, "is = ", Average))
}
sum.numbers(a,b,c)

首先,我们通过赋值sum.numbers的名称来声明该方法。如果您忘记此声明,则会引发错误。
下一条语句要求用户输入a、b、c的值
a <- readline(prompt="Enter a Value: ") b <- readline(prompt="Enter b Value: ") c <- readline(prompt="Enter c Value: ")
在下一行,我们使用as.integer将用户输入的值转换为整数。
a <- as.integer(a) b <- as.integer(b) c <- as.integer(c)
接下来,我们计算用户输入值的和与平均值。
Sum = a + b + c Average = Sum/3
在此函数示例中,我们将a、b、c的值指定为10、20、30。这意味着,
- Sum = a + b + c => 10 + 20 + 30
- Sum = 60
- Average = Sum / 3 => 60 / 3
- Average = 20
下面的打印语句将和与平均值作为输出打印出来。
print(paste("Sum of ",a, ",", b, ",", c, "is = ", Sum))
print(paste("Average of ",a, ",", b, ",", c, "is = ", Average))