R语言:自定义函数

作者: Bioconductor | 来源:发表于2016-10-25 17:26 被阅读1054次

R语言系列:自定义function

在用R语言做各种事物时,用户自定义函数是不可或缺的。这期来讲讲如何自定义R的function。首先要介绍的是function的基本框架:

myfunction <- function(arg1, arg2, ... ){
statements
return(object)
}
  • 函数名称为myfunction
  • arg1,arg2 为参数
  • statements 为函数语句
  • return(object)返回结果

两个例子

例子一:随机数产生,画图

function1 <- function(x,y){
  plot(x,y)
  return(x+y)
}
> x <- rnorm(10)
> y <- rnorm(10,2,3)
> function1(x,y)

[1]  1.5828019  0.2661017 -2.7666838  9.9395144  3.3619610 -0.9452065 -6.4638374 -0.3288615  1.1402272
[10] -0.1285368

出结果图

plot图

例子二:判断、条件句

function2 <- function(x,npar=TRUE,print=TRUE) {
  if (!npar) {
    center <- mean(x); spread <- sd(x) 
  } else {
    center <- median(x); spread <- mad(x) 
  }
  if (print & !npar) {
    cat("Mean=", center, "\n", "SD=", spread, "\n")
  } else if (print & npar) {
    cat("Median=", center, "\n", "MAD=", spread, "\n")
  }
  result <- list(center=center,spread=spread)
  return(result)
}


> x<-rnorm(10,0,1)
> function2(x)
Median= 0.2469624 
 MAD= 1.161068 
$center
[1] 0.2469624

$spread
[1] 1.161068

总结

看懂这两,基本的函数应该可以实现,稍微复杂的,或别的更加复杂的函数,那就需要经验了。多练习多写代码是实现快速写代码的重要途径!

相关文章

  • R语言:自定义函数

    R语言系列:自定义function 在用R语言做各种事物时,用户自定义函数是不可或缺的。这期来讲讲如何自定义R的f...

  • R语言自定义函数

    R语言某种程度来说本身就是一个函数库,因为它有大量的函数可供调用,加上函数式编程,使得R语言的功能很强大。但是,有...

  • R语言常用函数整理(基础篇)

    R语言基础函数整理 R语言常用函数整理本篇是基础篇,即R语言自带的函数。 一、数据管理 vector:向量nume...

  • R语言自定义函数2021.3.17

    1.自定义函数 何为函数,函数就是你的输入通过这个函数可以得到你想要的输出,比如你自己封装一个A加B再乘以C的函数...

  • 自定义函数(R语言编程)

    在R中不加()直接输入函数名字就会显示该函数的源代码 完整的R函数包括: 函数名称:最好与功能相关,可以是字母与数...

  • 哈佛R语言课程--3.函数、参数和R包

    学习目标 R语言函数的描述和应用。 使用参数修改R语言函数的默认操作 从R帮助文档获取有关函数的更多信息 创建用户...

  • 第2章 R编程入门(一):数据集

    2.1 R语言 R是一种解释性语言,输入后可直接给出结果。R功能烤函数实现,函数形式如下:函数(输入数据, 参数=...

  • R语言 函数

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

  • R语言函数

    1、gsub ##################################################...

  • R语言-函数

    求标准误分部需大量重复代码 封装代码 实例:定义勾股定理函数 注意:定义函数时可以给多个参数用","分割,函数里面...

网友评论

    本文标题:R语言:自定义函数

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