服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - R语言 - R语言函数详解及实例用法

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

2022-01-04 15:36w3cschool R语言

在本篇内容里小编给大家带来一篇关于R语言函数详解及实例用法,有需要的朋友们可以学习参考下。

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

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

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

函数定义

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

?
1
2
3
function_name <- function(arg_1, arg_2, ...) {
  Function body
}

函数组件

函数的不同部分 -

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

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

内置功能

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

?
1
2
3
4
5
6
7
8
# 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
2
3
[1] 32 33 34 35 36 37 38 39 40 41 42 43 44
[1] 53.5
[1] 1526

用户定义的函数

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

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

调用函数

?
1
2
3
4
5
6
7
8
9
10
# 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
2
3
4
5
6
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
[1] 36

调用没有参数的函数

?
1
2
3
4
5
6
7
8
9
# 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
2
3
4
5
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25

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

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

?
1
2
3
4
5
6
7
8
9
10
11
# 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
2
[1] 26
[1] 58

使用默认参数调用函数

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

?
1
2
3
4
5
6
7
8
9
10
11
# 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
2
[1] 18
[1] 45

功能的延迟计算

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

?
1
2
3
4
5
6
7
8
9
# 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
2
3
[1] 36
[1] 6
Error in print(b) : argument "b" is missing, with no default

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

原文链接:https://www.w3cschool.cn/r/r_data_reshaping.html

延伸 · 阅读

精彩推荐
  • R语言R studio 批量注释的快捷方式

    R studio 批量注释的快捷方式

    这篇文章主要介绍了R studio 批量注释的快捷方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    JasonKQLin13342022-01-04
  • R语言聊聊R语言中Legend 函数的参数用法

    聊聊R语言中Legend 函数的参数用法

    这篇文章主要介绍了聊聊R语言中Legend 函数的参数用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Gavin姓陈6352021-12-28
  • R语言R语言编程学习绘制动态图实现示例

    R语言编程学习绘制动态图实现示例

    这篇文章主要介绍了R语言编程学习绘制动态图实现示例,有需要的的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...

    微小冷7652022-01-18
  • R语言R语言创建矩阵的实现方法

    R语言创建矩阵的实现方法

    这篇文章主要介绍了R语言创建矩阵的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随...

    hjk_caesar9462021-12-27
  • R语言R语言-使用ifelse进行数据分组

    R语言-使用ifelse进行数据分组

    这篇文章主要介绍了R语言-使用ifelse进行数据分组,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    小力丸12042022-01-10
  • R语言R语言中c()函数与paste()函数的区别说明

    R语言中c()函数与paste()函数的区别说明

    这篇文章主要介绍了R语言中c()函数与paste()函数的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    yiyu_j11152022-01-12
  • R语言R语言可视化存储矢量图实现方式

    R语言可视化存储矢量图实现方式

    这篇文章主要为大家介绍了R语言存储矢量图的实现方式过程,有需要的朋友可以借鉴参考下,希望能够有所你帮助,祝大家多多进步,早日升职加薪...

    Kanny广小隶9392022-01-20
  • R语言R语言绘制散点图实例分析

    R语言绘制散点图实例分析

    在本篇文章里小编给大家整理的是一篇关于R语言绘制散点图实例分析内容,有需要的朋友们可以学习下。...

    w3cschool6942022-01-06