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中,可以通过定义函数来实现特定的任务,并使用许多流程控制语句来使函数功能更加强大。