语言第三讲函数循环_第1页
语言第三讲函数循环_第2页
语言第三讲函数循环_第3页
语言第三讲函数循环_第4页
语言第三讲函数循环_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三讲用户自定义函数程序的结构控制用户自定义函数L3_1.R

用户自定义函数问题:如何方便地计算各科成绩的基本描述统计量?

a<-sapply(ReportCard[,3:10],FUN=mean,na.rm=TRUE)用户自定义函数是为解决用户的某个特定任务而编写的一个程度段用户自定义函数的实现步骤第一,编写自定义函数第二,调用自定义函数定义函数(C只能返回一个数值,R可以返回数据框、列表等多种)两个部分:函数说明,函数体格式:自定义函数名<-function(形式参数列表){函数体return(函数值)}或:自定义函数名<-function(形参名1=形参,…)fix(函数名)或写在R程序中注意:函数体的对象是局部的,函数之外无法访问

用户自定义函数调用用户自定义函数对象名<-自定义函数名(实际参数列表)函数返回结果赋给指定对象,对象类型取决于函数返回值类型注意:实际参数应与形式参数一一对应,且类型相同

用户自定义函数的调试调试:因函数中的对象是局部的,无法看到中间计算结果,对复杂函数的执行过程的跟踪是必要的调试步骤:debug(用户自定义函数名):启动调试调用用户自定义函数,其间可执行以下调试命令n:执行下一行c:执行到程序尾undebug(用户自定义函数名):关闭调试程序的结构控制分支结构的控制例:商场对商品实行打折销售,一次性购买商品金额按如下标准给定不同折扣:给定价格,给出折扣分支结构:根据条件执行程序中的不同分支ifelse(条件,语句1,语句2)条件满足,执行语句1;否则执行语句2a<-1b<-2ifelse(a>b,print(a),print(b))分支结构的控制if语句:if(条件1){语句组1}else{if(条件2){语句组2}else{

语句组n}}分支结构语句:switch(对象,值1,值2,…)对象为整数n。返回“值表”中的第n个值switch(对象,串1=值1,串2=值2,…)对象为字符串。返回“串表”中与对象字符串完全匹配的等号后面的值x=c(1,2,3,4,5)Type<-"mean"switch(Type,center=,mean=mean(x),sd=sd(x))Type<-"center"switch(Type,center=,mean=mean(x),sd=sd(x))Type<-"sd"switch(Type,center=,mean=mean(x),sd=sd(x))循环结构的控制例:计算1+2+3+…+10固定次数的循环for(循环控制变量名in循环控制变量取值范围){循环体语句序列}非固定次数的循环while(条件){循环体语句序列}repeat{循环体语句break}

用户自定义函数应用例:编写用户自定义函数实现,给定一个字符串向量,将每个元素重复指定的次数后,送入一个新向量append(x,…):在向量x的最后一个元素后面添加指定值(元素)

课堂练习(和上次作业一起交)编写用户自定义函数实现:给

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论