zoukankan      html  css  js  c++  java
  • R语言-编写自定义函数 ZZ

    一、函数构造器

    每一个R函数都包括三个部分:函数名,程序主体以及参数集合,在编写自定义R函数时,需要将三个部分各自储存在一个R对象中。这里需要使用function函数,形如:
    my_function<-function(){}
    function函数可以将大括号内的代码内容构建成一个函数,例如:

    roll<-function(){
      dice<-sample(1:6,2,replace = T)#可重复抽样
      sum(dice)
    }
    roll()
    

    函数将返回最后一行的运行输出结果,如果最后一行不输出结果,整个函数也将不会有返回值

    二、含参函数的构造

    可以通过在括号里填入参数名称加以实现,具体如下:

    roll2<-function(bones){
      dice<-sample(bones,2,replace = T)#可重复抽样
      sum(dice)
    }
    > roll2()
    Error in sample(bones, 2, replace = T) : 
      argument "bones" is missing, with no default
    > roll2(1:10)
    [1] 11
     
    

    可以发现如果不写参数,R将报错,为了防止类似的错误发生,可以预先设置一个初始默认值给bones参数,只需在括号里用等号将默认值与参数相连即可。

    形如:

    roll3<-function(bones=1:6){
      dice<-sample(bones,2,replace = T)   #可重复抽样
      sum(dice)
    }
    > roll3()
    [1] 9
    

    三、提取函数

    就像其他语言的IDE一样,RStudio也提供了抽取函数的功能,在R脚本中选中对应的代码段,在菜单栏中选择Code>Extract Function即可。RStudio会询问给函数取什么名字,然后用function将所需函数包装起来,并会自动检查代码段中未定义的变量,将其设置为该函数的参数。
    提取函数之后,同志们记得检查一下,主要是看看有没有什么需要设置默认值的参数,或者函数有没有返回值之类的问题。

    四、查看函数

    不仅可以通过help查看函数解释,还可以通过直接输入函数名查看函数代码
    这就是开源的好处!

  • 相关阅读:
    作业七—“南通大学教务管理系统微信公众号”用户体验分析
    作业6—成绩录入系统设计(第一阶段)
    作业5-需求分析(EX:南通大学成绩录入系统)
    几次接触Collection排序使用总结
    作业4-两人编程<词频统计>
    ACE智能指针
    Buddy Memorry
    子数组和与积
    数字转化为大写(16位以下)
    【阿里巴巴-飞猪旅行-内推】2020年应届实习生招聘
  • 原文地址:https://www.cnblogs.com/juking/p/9029525.html
Copyright © 2011-2022 走看看