美文网首页
R学习笔记(8):函数

R学习笔记(8):函数

作者: TOP生物信息 | 来源:发表于2019-05-22 00:29 被阅读0次
1.举个栗子

如何编写一个函数?
简单来说需要三步。

sum_hsy <- function(x,y) {   #1.取一个有意义的函数名称;2.指明需要几个参数以及参数顺序
  x+y   #3.构造函数主体部分
}
sum_hsy(1,2)
2.可读性

如何让函数的可读性更好?
函数名称用动词短语,参数用名词,多字段用下划线分割
添加注释和header(RStudio的快捷键:Ctrl+Shift+R)

3.使用条件判断

以下面的四则运算函数为例

#当判断条件较多时,switch()比if...else...好一些
calculate <- function(x,y,op) {
  switch (op,
    plus = x+y,
    minus = x-y,
    times = x*y,
    divide = x / y,
    stop("Unknown op!")
  )
  
}
calculate(1,2,"plus")

calculate2 <- function(x,y,op) {
  if (identical(op,"plus")) {
    x+y
  } else if (identical(op,"minus")) {
    x-y
  } else if (identical(op,"times")) {
    x*y
  } else if (identical(op,"divide")) {
    x / y
  } else {
    stop("Unknown op!")
  }
}
calculate2(1,2,"plus")

if语句的简写

y <- 10
x <- if( y < 20) "low" else "high"
4.R中的函数参数

数据参数在前,如上面calculate()的x,y;细节参数在后,如上面calculate()的op,一般有默认值 (定义函数时设置,若调用函数时没有重新输入细节参数,则会沿用默认值)。
下面这个计算置信区间的函数比较重要,可以记一下。

calculate_mean_ci <- function(x,conf = 0.95) {
  se <- sd(x) / sqrt(length(x))
  alpha <- 1 - conf
  mean(x)+se*qnorm(c(alpha / 2, 1 - alpha / 2))
}
x <- runif(100)
calculate_mean_ci(x)
calculate_mean_ci(x,conf = 0.99)
5.返回值

在R中通常是最后一个语句的值,也可以通过return()提前返回一个值(这时函数运行结束)。

相关文章

  • 学习小组笔记Day6-Jocelyn

    #2020年7月8日学习笔记 学习R包 ##一、安装R包(dplyr) ##二、使用R包之常用的五个基本函数 ##...

  • R学习笔记(8):函数

    1.举个栗子 如何编写一个函数?简单来说需要三步。 2.可读性 如何让函数的可读性更好?函数名称用动词短语,参数用...

  • 学习小组Day5笔记--慧美

    R语言学习笔记 R语言常识部分 R语句由函数和赋值构成。 R使用 <-,而不是传统的 = 作为赋值符号。 寻求帮助...

  • 2019-08-02 rep()函数

    【R语言学习笔记】rep函数 2016年05月29日 18:17:31Mr4869阅读数 20279标签:r语言更...

  • R语言入门之理解基本函数

    终于意识到R语言的重要性! 学习笔记,记录一些R语言的基本函数: getwd() 查看工作目录 setwd()设置...

  • Java 8函数式编程学习笔记

    Java 8函数式编程学习笔记 author:Gavin date:2018/11/09 什么是函数式编程 在思考...

  • 第5章 高级数据管理

    《R语言实战》笔记系列 本章学习大纲 1.数学和统计函数 2.字符处理函数 3.循环和条件执行 4.自编函数 5....

  • 65-R语言训练深度预测模型

    《深度学习精要(基于R语言)》学习笔记 1、概览 本文涉及以下主题:• 深度前馈神经网络入门• 常见的激活函数:整...

  • 第1章 R语言介绍

    《R语言实战》笔记系列 本章学习大纲 1.R的安装 2.R的基本概念(常用的函数介绍) 3.R的常见错误 第一部分...

  • R|绘图函数-学习笔记(四)

    绘图函数 plot(x) 以x的元素值为纵坐标、以序号为横坐标绘图 plot(x, y) x(在x-轴上)与y(在...

网友评论

      本文标题:R学习笔记(8):函数

      本文链接:https://www.haomeiwen.com/subject/svkfgqtx.html