R 函数
R 是一种强大的数据分析语言,它拥有大量的内置函数和包,可以用于完成各种复杂的数据分析任务。在R中,函数是一种可以实现特定功能的代码块,可以接收输入参数并生成输出结果。
一、定义函数
在R中,函数使用关键字“function”来定义,并包含参数列表和函数体。下面是一个简单的示例:
myFunction <- function(x) {
return(x^2)
}
该函数名称为"myFunction",该函数的参数是x,函数体是x的平方。函数定义完成后,可以调用该函数来计算任何数字的平方。
二、函数参数
函数可以接受0个或多个参数。以下是一个接受两个参数的示例函数:
addition <- function(a,b) {
return(a+b)
}
该函数名称为"addition",该函数的参数是a和b,函数体是a和b的求和。函数定义完成后,可以调用该函数以计算两个任意数字的和。
三、变量作用域
R中的变量分为两类:全局变量和局部变量。全局变量在整个程序中都可用,而局部变量只在特定函数中可用。以下示例说明:
myFunction <- function(x) {
y <- 2 # 局部变量
return(x^2 + y)
}
“y”被定义为一个局部变量,只在该函数中可用。
四、返回值
函数可以返回一个值或多个值。以下是每个函数只返回一个值的示例:
myFunction <- function(x) {
return(x^2)
}
该函数返回参数“x”的平方。
五、控制语句
R中支持许多流程控制语句,例如if语句、while语句和for语句等。以下是一个带有if语句的示例函数:
odd_or_even <- function(x) {
if (x %% 2 == 0) {
return("Even")
} else {
return("Odd")
}
}
该函数名称为“odd_or_even”。如果x是偶数,则函数返回"Even",否则返回"Odd"。
六、递归函数
递归函数是一种调用自己的函数。使用递归函数可以解决许多计算问题。以下是一个递归函数示例:
factorial <- function(n) {
if (n == 0) {
return(1)
} else {
return(n * factorial(n-1))
}
}
该函数名称为“factorial”,它计算参数“n”的阶乘。在该函数中,如果n等于0,则返回1,否则返回n与n-1的阶乘的乘积。
七、总结
R是一种强大的数据分析语言,它包含大量方便可用的函数和包。在R中,可以通过定义函数来实现特定的任务,并使用许多流程控制语句来使函数功能更加强大。