R语言函数详解及实例用法

 更新时间:2021年03月28日 15:04:24   作者:w3cschool  
在本篇内容里小编给大家带来一篇关于R语言函数详解及实例用法,有需要的朋友们可以学习参考下。

函数是一组组合在一起以执行特定任务的语句。 R 语言具有大量内置函数,用户可以创建自己的函数。

在R语言中,函数是一个对象,因此R语言解释器能够将控制传递给函数,以及函数完成动作所需的参数。

该函数依次执行其任务并将控制返回到解释器以及可以存储在其他对象中的任何结果。

函数定义

使用关键字函数创建 R 语言的函数。 R 语言的函数定义的基本语法如下

function_name <- function(arg_1, arg_2, ...) {
  Function body 
}

函数组件

函数的不同部分 -

  • 函数名称 -这是函数的实际名称。 它作为具有此名称的对象存储在 R 环境中。
  • 参数 -参数是一个占位符。 当函数被调用时,你传递一个值到参数。 参数是可选的; 也就是说,一个函数可能不包含参数。 参数也可以有默认值。
  • 函数体 -函数体包含定义函数的功能的语句集合。
  • 返回值 -函数的返回值是要评估的函数体中的最后一个表达式。

R语言有许多内置函数,可以在程序中直接调用而无需先定义它们。我们还可以创建和使用我们自己的函数,称为用户定义的函数。

内置功能

内置函数的简单示例是 seq(),mean(),max(),sum(x) 和 paste(...) 等。它们由用户编写的程序直接调用。 您可以参考最广泛使用的 R 函数。

# Create a sequence of numbers from 32 to 44.
print(seq(32,44))

# Find mean of numbers from 25 to 82.
print(mean(25:82))

# Find sum of numbers frm 41 to 68.
print(sum(41:68))

当我们执行上面的代码,它产生以下结果 -

[1] 32 33 34 35 36 37 38 39 40 41 42 43 44
[1] 53.5
[1] 1526

用户定义的函数

我们可以在 R 语言中创建用户定义的函数。它们特定于用户想要的,一旦创建,它们就可以像内置函数一样使用。 下面是一个创建和使用函数的例子。

# Create a function to print squares of numbers in sequence.
new.function <- function(a) {
  for(i in 1:a) {
   b <- i^2
   print(b)
  }
}	

调用函数

# Create a function to print squares of numbers in sequence.
new.function <- function(a) {
  for(i in 1:a) {
   b <- i^2
   print(b)
  }
}

# Call the function new.function supplying 6 as an argument.
new.function(6)

当我们执行上面的代码,它产生以下结果 -

[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
[1] 36

调用没有参数的函数

# Create a function without an argument.
new.function <- function() {
  for(i in 1:5) {
   print(i^2)
  }
}	

# Call the function without supplying an argument.
new.function()

当我们执行上面的代码,它产生以下结果 -

[1] 1
[1] 4
[1] 9
[1] 16
[1] 25

使用参数值调用函数(按位置和名称)

函数调用的参数可以按照函数中定义的顺序提供,也可以以不同的顺序提供,但分配给参数的名称。

# Create a function with arguments.
new.function <- function(a,b,c) {
  result <- a * b + c
  print(result)
}

# Call the function by position of arguments.
new.function(5,3,11)

# Call the function by names of the arguments.
new.function(a = 11, b = 5, c = 3)

当我们执行上面的代码,它产生以下结果 -

[1] 26
[1] 58

使用默认参数调用函数

我们可以在函数定义中定义参数的值,并调用函数而不提供任何参数以获取默认结果。 但是我们也可以通过提供参数的新值来获得非默认结果来调用这样的函数。

# Create a function with arguments.
new.function <- function(a = 3, b = 6) {
  result <- a * b
  print(result)
}

# Call the function without giving any argument.
new.function()

# Call the function with giving new values of the argument.
new.function(9,5)

当我们执行上面的代码,它产生以下结果

[1] 18
[1] 45

功能的延迟计算

对函数的参数进行延迟评估,这意味着它们只有在函数体需要时才进行评估。

# Create a function with arguments.
new.function <- function(a, b) {
  print(a^2)
  print(a)
  print(b)
}

# Evaluate the function without supplying one of the arguments.
new.function(6)

当我们执行上面的代码,它产生以下结果

[1] 36
[1] 6
Error in print(b) : argument "b" is missing, with no default

到此这篇关于R语言函数详解及实例用法的文章就介绍到这了,更多相关R语言函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 用R语言实现霍夫曼编码的示例代码

    用R语言实现霍夫曼编码的示例代码

    这篇文章主要介绍了用R语言实现霍夫曼编码的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言ggplot2边框背景去除的实现

    R语言ggplot2边框背景去除的实现

    这篇文章主要介绍了R语言ggplot2边框背景去除的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言逻辑回归、ROC曲线与十折交叉验证详解

    R语言逻辑回归、ROC曲线与十折交叉验证详解

    这篇文章主要给大家介绍了关于R语言逻辑回归、ROC曲线与十折交叉验证的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言RCode与RStudio使用对比体验分析总结

    R语言RCode与RStudio使用对比体验分析总结

    这篇文章主要为大家介绍了R语言RCode与RStudio使用对比体验分析总结,有需要的朋友可以借鉴参考下,希望能够有所帮助祝大家多多进步
    2021-11-11
  • R语言学习笔记之lm函数详解

    R语言学习笔记之lm函数详解

    这篇文章主要介绍了R语言学习笔记之lm函数详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • R语言学习之基础绘图详解

    R语言学习之基础绘图详解

    这篇文章主要为大家详细介绍了R语言中基础绘图的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解一下
    2023-03-03
  • R语言基础统计方法图文实例讲解

    R语言基础统计方法图文实例讲解

    这篇文章主要介绍了R语言基础统计方法图文实例讲解,文中图文合并讲解的很透彻,有感兴趣的同学可以研究下
    2021-03-03
  • 基于R/RStudio中安装包“无法与服务器建立连接”的解决方案

    基于R/RStudio中安装包“无法与服务器建立连接”的解决方案

    这篇文章主要介绍了基于R/RStudio中安装包“无法与服务器建立连接”的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言常用两种并行方法之parallel详解

    R语言常用两种并行方法之parallel详解

    这篇文章主要为大家介绍了R语言常用两种并行方法之parallel方法的详解,有需要的朋友可以借鉴C参考下,希望能够有所帮助,祝大家多多进步早日甚至加薪
    2021-11-11
  • R语言学习ggplot2绘制统计图形包全面详解

    R语言学习ggplot2绘制统计图形包全面详解

    这篇文章主要为大家详细介绍了R语言学习ggplot2绘制统计图形包的全面知识讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11

最新评论