广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >R语言函数详解及实例用法
  • 849
分享到

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

2024-04-02 19:04:59 849人浏览 八月长安
摘要

函数是一组组合在一起以执行特定任务的语句。 R 语言具有大量内置函数,用户可以创建自己的函数。 在R语言中,函数是一个对象,因此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语言函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: R语言函数详解及实例用法

本文链接: https://www.lsjlt.com/news/122494.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • R语言函数详解及实例用法
    函数是一组组合在一起以执行特定任务的语句。 R 语言具有大量内置函数,用户可以创建自己的函数。 在R语言中,函数是一个对象,因此R语言解释器能够将控制传递给函数,以及函数完成动作所需...
    99+
    2022-11-12
  • R语言strsplit函数用法深入详解
    1、R语言strsplit用于分割字符串 创建测试数据 > test <- "aa bb cc dd ee ff" ##创建测试数据 > test [1] "a...
    99+
    2022-11-11
  • R语言的xtabs函数实例讲解
    今天在做一个列联表独立性检验的时候,总是无法处理好要求的数据类型,偶然的机会,看到了xtabs()函数,感觉很适合用来做列联表,适合将一列数据转换成列联表。 shifou <...
    99+
    2022-11-11
  • R语言中merge函数详解
    1、创建测试数据: name <- c('A','B','A','A','C','D') school <- c('s1','s2','s1','s1','s1','...
    99+
    2022-11-12
  • R语言中aggregate 函数详解
    目录R语言中aggregate 函数001、测试数据框002、 调用函数R语言中aggregate 函数 aggregate函数是数据处理中常用到的函数,具有强大的功能。可以按照要求...
    99+
    2023-05-17
    R语言aggregate 函数 aggregate 函数
  • R语言which函数介绍及Rcpp改写详解
    目录引言which 函数的介绍which函数的一些小例子which函数的改进以及时间对比总结引言 首先来介绍一下R语言which函数的作用:which函数在向量、矩阵、数据框,列表、...
    99+
    2022-11-13
  • 详解R语言caret包trainControl函数
    目录trainControl参数详解源码参数详解示例trainControl参数详解 源码 caret::trainControl <- function (method =...
    99+
    2022-11-13
    R语言caret包trainControl函数 R语言caret包
  • R语言Legend函数深入详解
    legend(x, y = NULL, legend, fill = NULL, col = par("col"), border = "black", lty, lwd, pc...
    99+
    2022-11-11
  • R语言中set.seed()函数的作用详解
    目录001、首先查看不使用set.seed函数的情况002、使用set.seed函数的情况003、改变种子序号的情况R语言中set.seed()函数的作用是保证前后生成的随机数保持一...
    99+
    2022-11-13
  • R语言-summary()函数的用法解读
    summary():获取描述性统计量,可以提供最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计等。 结果解读如下: 1. 调用:Call lm(f...
    99+
    2022-11-12
  • R语言中的fivenum与quantile()函数算法详解
    fivenum()函数: 返回五个数据:最小值、下四分位数数、中位数、上四分位数、最大值 对于奇数个数字=5,fivenum()先排序,依次返回最小值、下四分位数、中位数、上四分位数...
    99+
    2022-11-12
  • Go语言基础函数基本用法及示例详解
    目录概述语法函数定义一.函数参数无参数无返回有参数有返回函数值传递函数引用传递可变参数列表 无默认参数函数作为参数二、返回值多个返回值跳过返回值匿名函数匿名函数可以赋值给一个变量为函...
    99+
    2022-11-12
  • 详解R语言plot函数参数合集
    最近用R语言画图,plot 函数是用的最多的函数,而他的参数非常繁多,由此总结一下,以供后续方便查阅。 plot(x, y = NULL, type = "p", xlim = NU...
    99+
    2022-11-11
  • R语言数组实例用法及知识点总结
    数组是可以在两个以上维度中存储数据的R数据对象。 例如 - 如果我们创建一个维度(2,3,4)的数组,则它创建4个矩形矩阵,每个矩阵具有2行和3列。 数组只能存储数据类型。 使用ar...
    99+
    2022-11-12
  • fgets函数及其用法,C语言fgets函数详解
    fgets函数是C语言中用来从指定的流中读取一行数据的函数。它的原型如下:```cchar *fgets(char *str, in...
    99+
    2023-09-09
    C语言
  • R语言列筛选的方法select实例详解
    目录前言1. 数据描述2. 使用R语言默认的方法:列选择3. tidyverse的rename函数4. tidyverse的select函数5. select函数注意事项5.1 绝对...
    99+
    2022-11-13
  • R语言行筛选的方法之filter函数详解
    目录1. 数据2. 生成ID列和类型3. 提取effect大于0.1的行4. 提取加性效应,且effect小于0的行5. 根据部分行名删选6. 固定字符特征进行行筛选总结下面介绍一下...
    99+
    2022-11-13
  • R语言中xtabs函数的用法
    这篇文章将为大家详细讲解有关R语言中xtabs函数的用法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。今天在做一个列联表独立性检验的时候,总是无法处理好要求的数据类型,偶然的机会,看到了xtabs()函数...
    99+
    2023-06-14
  • R语言泊松(Poisson)分布实例详解
    目录前言The Poisson DistributionDescriptionUsageArguments1.泊松(Poisson)分布中抽样函数rpois 2.泊松分布概...
    99+
    2022-11-13
    R语言 泊松分布 r语言泊松分布函数 r语言poisson分布
  • R语言学习笔记之lm函数详解
    在使用lm函数做一元线性回归时,发现lm(y~x+1)和lm(y~x)的结果是一致的,一直没找到两者之间的区别,经过大神们的讨论和测试,才发现其中的差别,测试如下: -------...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作