📜  R-函数(1)

📅  最后修改于: 2023-12-03 14:46:53.412000             🧑  作者: Mango

R-函数介绍

R是一种流行的编程语言,用于数据分析和统计。R中的函数被认为是其最重要的组件之一。函数是一种重复使用的代码块,其将输入参数转换为所需的输出。本文将介绍R中的函数及其使用方法。

函数的基础概念

在R中,一个函数由以下组成:

  • 函数名称:如 mean()max() 等。
  • 参数:带给函数的输入值。
  • 返回值:函数返回给用户的值。

举例:mean() 函数是一个计算数字均值的函数,其输入参数是一个数字向量,返回值是这些数字的平均值。

# 计算数字向量mean值的函数
mean(x)
自定义函数

R不仅有内置函数,还允许用户自定义函数来执行特定的任务。自定义函数的语法如下:

# 定义一个名为 foo 的函数,该函数接受参数 param1 和 param2
foo <- function(param1, param2) {
  # 函数执行的任务
  return(result)
}

例如,以下自定义函数将输入数字乘以2:

# 定义名为 double 的函数,该函数将输入数字乘以2
double <- function(x) {
  return(x * 2)
}

# 使用自定义函数
double(5) # 输出为 10
匿名函数

匿名函数是没有名称的函数,只用于一次性使用。匿名函数通常用于在其他函数中进行计算时,以减少代码量。匿名函数的语法如下所示:

# 创建一个用于计算函数的匿名函数
function(param1, param2) {
  # 匿名函数执行的任务
  return(result)
}

例如,以下代码段使用匿名函数计算向量中每个元素的平方:

# 创建向量
vec <- c(1,2,3,4,5)

# 使用匿名函数计算每个元素的平方
sapply(vec, function(x) {return(x^2)}) # 输出为 1,4,9,16,25
函数的参数

函数可以有多个参数。这些参数可以是必需的或可选的,并且可以有默认值。以下是一个函数需要参数的示例:

# 计算两个数的和的函数示例
sum_of_two_numbers <- function(x, y) {
  return(x + y)
}

# 使用函数计算两个数字的和
sum_of_two_numbers(3, 5) # 输出为 8

如果一个参数是可选的,则该参数必须有默认值。例如,以下函数求取向量的均值,其中 na.rm 参数默认为 FALSE

# 计算向量均值的函数,其中 na.rm 参数默认为 FALSE
my_mean <- function(vec, na.rm=FALSE) {
  if (na.rm) {
    vec <- vec[!is.na(vec)]
  }
  return(mean(vec))
}

# 使用函数计算向量均值,其中 na.rm 参数为 TRUE
my_mean(c(1,2,NA,4,5), na.rm=TRUE) # 输出为 3
函数的返回值

函数可以返回单个值或多个值。在函数的最后一行使用 return() 语句可以指定函数的返回值。以下是一个只返回单个值的基本示例:

# 计算两个数的和并返回结果
sum_of_two_numbers <- function(x, y) {
  return(x + y)
}

# 使用函数计算两个数字的和并获取结果
result <- sum_of_two_numbers(3, 5)

以下是一个返回多个值的示例:

# 计算向量的均值和标准差并返回两个值
my_stats <- function(vec) {
  m <- mean(vec)
  sd <- sd(vec)
  return(c(m, sd))
}

# 使用函数计算向量的均值和标准差并获取结果
result <- my_stats(c(1,2,3,4,5))
总结

在R中,函数是执行一系列计算任务的重要组件。函数由函数名称、参数和返回值组成,并且可以包含必选和可选参数以及匿名函数。函数可以返回单个值或多个值,具体取决于它们的实现。