R 编程中的函数参数
参数是提供给函数以在编程语言中执行操作的参数。在 R 编程中,我们可以使用任意数量的参数,并用逗号分隔。 R函数中的参数数量没有限制。在本文中,我们将讨论在 R 编程中在函数中添加参数的不同方法。
在 R 中添加参数
我们可以在调用函数时将参数传递给函数,只需在括号内给出值作为参数即可。下面是具有单个参数的函数的实现。
例子:
# Function definition
# To check n is divisible by 5 or not
divisbleBy5 <- function(n){
if(n %% 5 == 0)
{
return("number is divisible by 5")
}
else
{
return("number is not divisible by 5")
}
}
# Function call
divisbleBy5(100)
divisbleBy5(4)
divisbleBy5(20.0)
输出:
[1] "number is divisible by 5"
[1] "number is not divisible by 5"
[1] "number is divisible by 5"
在 R 中添加多个参数
R 编程中的函数也可以有多个参数。下面是具有多个参数的函数的实现。
例子:
# Function definition
# To check a is divisible by b or not
divisible <- function(a, b){
if(a %% b == 0)
{
return(paste(a, "is divisible by", b))
}
else
{
return(paste(a, "is not divisible by", b))
}
}
# Function call
divisible(7, 3)
divisible(36, 6)
divisible(9, 2)
输出:
[1] "7 is not divisible by 3"
[1] "36 is divisible by 6"
[1] "9 is not divisible by 2"
在 R 中添加默认值
函数中的默认值是不需要在每次调用函数时指定的值。如果该值由用户传递,则函数使用用户定义的值,否则使用默认值。下面是具有默认值的函数的实现。
例子:
# Function definition to check
# a is divisible by b or not.
# If b is not provided in function call,
# Then divisibility of a is checked with 3 as default
divisible <- function(a, b = 3){
if(a %% b == 0)
{
return(paste(a, "is divisible by", b))
}
else
{
return(paste(a, "is not divisible by", b))
}
}
# Function call
divisible(10, 5)
divisible(12)
输出:
[1] "10 is divisible by 5"
[1] "12 is divisible by 3"
点参数
点参数 (...) 也称为省略号,它允许函数采用未定义数量的参数。它允许函数接受任意数量的参数。下面是一个具有任意数量参数的函数示例。
例子:
# Function definition of dots operator
fun <- function(n, ...){
l <- list(n, ...)
paste(l, collapse = " ")
}
# Function call
fun(5, 1L, 6i, TRUE, "GeeksForGeeks", "Dots operator")
输出:
[1] "5 1 0+6i TRUE GeeksForGeeks Dots operator"
作为参数的函数
在 R 编程中,函数可以作为参数传递给另一个函数。下面是作为参数的函数的实现。
例子:
# Function definition
# Function is passed as argument
fun <- function(x, fun2){
return(fun2(x))
}
# sum is built-in function
fun(c(1:10), sum)
# mean is built-in function
fun(rnorm(50), mean)
输出:
[1] 55
[1] 0.2153183