R软件及编程应用第三讲精编.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * R软件及编程应用 中南财经政法大学信息与安全工程学院 刘树栋 1/28 第三讲:函数与环境 一、函数定义及应用 二、环境 2/28 一、函数的定义及应用 1、函数的关键字 2、参数 3、返回值 4、匿名函数 5、函数的属性 3/28 1、函数关键词 函数是R的一个对象,函数通过对输入数据进行计算最终可以返回一个输出。 在R语言中,函数通过如下形式进行定义: function(arguments) body 其中arguments是一个符号名称的集合(或有一些是默认值),这些符号将会在函数的主体body中定义。 函数的主体body是指R的表达式,一般函数的主体会用花括号括起来。只有一个表达式时,花括号可省略。例如f - function(x,y)x+y f - function(x,y){x+y} 4/28 2、参数 在R中定义函数要包含参数的名字,大都在arguments中声明。 还可给出一些参数的默认值,如果指定了某个参数的默认值,在默认情况下函数就会按照指定的参数默认值运行。如果在函数调用时,对默认值参数重新赋值,原有默认值将被覆盖(override) R可以方便地指定任意长度的参数列表。 如果想把额外的参数传递给另一个函数,或者编写一个参数书目可变的函数,可以在参数列表中加一个省略号(…)来实现 5/28 举例 …参数传递给 summary函数 6/28 2、参数 注释: 只有在函数中调用一个未初始化的参数时,R才会报错。 还可以用其他方法检查一个参数在函数内部是否已被初始化,例如在上述例子中g()函数等价如下函数: h - function(x,y){ args - as.list(match.call()) if(is.null(args$y)){y-10} x+y} 7/28 2、参数 注释: R中“…”是一个特殊的对象,这个对象的操作只能在函数内部进行。在此表示该函数的其他所有参数。 R可从一个可变书目的参数列表中得到所有的参数,只需在函数内部把对象…转换成一个列表。例如构造一个函数,将其所有的参数进行相加求和。 可以通过..1、..2到..9等直接引用列表(…)中的内容。..1表示第一向,..2表示第二项,以此类推。 8/28 举例 思考:后两种函数调用的区别? 9/28 2、参数:参数顺序与具名实参 在R中调用函数时,可以采用如下三种方式(按优先级顺序)来指定参数的值: 确切的参数名字:将值分配给参数列表中精确给出的参数名字。拥有全名的将首先进行匹配。 部分匹配名字:将值分配给参数列表中部分给出的参数名字 参数顺序:按照列表中的顺序为参数逐个指定值。 在R中函数也可以当做参数被其他函数调用:sqrt(c(1,2,6)) 10/28 举例 说明: 在可能的情况下,尽量用精 确的参数名 指定部分名的方法尽量少用, 否则容易参数混淆。如例: 11/28 3、返回值 在一个函数中,可通过return来指定函数的返回值,例如: f- function(x){return(x^2+3)} 此外R会将函数体内部的最后一个计算表达式作为函数的结果,因此通常情况下return语句都会省略掉: f- function(x){x^2+3} 但在某些情况下,一个显式的返回值会使代码更加清晰易懂 12/28 4、匿名函数 函数是R中一个对象,可构造没有名字的函数,称之为匿名函数(anonymous function),匿名函数通常被用作另一些函数的参数。即直接调用function(),而不给对象命名。例 函数是如何运行?? 13/28 4、匿名函数 匿名函数可以用作一个很好的控制结构,类似于if-then、for循环的特性。 14/28 4、匿名函数 还可以定义一个匿名函数,并直接运用到它的参数上。 例如: 输入:(function(x){x+1})(1) 输出:[1] 2 注意:这里的函数体必须用括号括起来。 思考:用这种方法如何实现上例的结果? 15/28 5、函数的属性 R中包含一系列的函数用于提取函数类型对象的信息。 args函数可以查看函数包含哪些参数,返回一个函数类型的对象,函数体为NUL

文档评论(0)

4753333 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档