- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
作用域 函数的虚参完全是按值传递的,改变虚参的值不能改变对应实参的值。例如: x = c(1, abc) x [1] 1 “abc f =function(x) {x[2] - !! ;x} f(x) [1] 1 !! x [1] 1 “abc 这个例子说明了函数体内部的变量是局部的,赋值只针对函数体的变量,一旦函数运行结束以后,不改变全局变量的值。 * 函数体内的变量也是局部的,对函数体内的变量赋值当函数结束运行后变量值就删除了,不影响原来同名变量的值。例如: x - 2 f - function() {print(x) ; x= 20 } f() [1] 2 x [1] 2 这个例子中原来有一个变量x值为2,函数中为变量x赋值20,但函数运行完后原来的x值并未变化。但是也要注意,函数中的显示函数调用时局部变量x还没有赋值,显示的是全局变量x 的值。这是R编程比较容易出问题的地方:你用到了一个局部变量的值,你没有意识到这个局部变量还没有赋值,而程序却没有出错,因为这个变量已有全局定义。 * R程序设计注意要点 对于复杂一些的计算问题我们应该编写成函数。这样做的好处是 编写一次可以重复使用,并且可以很容易地修改 函数内的变量名是局部的,运行函数不会使函数内的局部变量被保存到当前的工作空间,可以避免在交互状态下直接赋值定义很多变量使得工作空间杂乱无章。 * 编写函数是要注意: 可读性(readability). 可理解性(understandability). 具体要做到: 采用结构化、模块化编程; 增加必要的注释; 使用意义明确的名字作为变量名,切忌用人名或者宠物名; 行前缩进,使程序有层次感。 * 工作空间管理 R在运行时保持一个变量有哪些信誉好的足球投注网站路径表,要读取某变量时依次在此路径表中查找,返回找到的第一个;给变量赋值时在有哪些信誉好的足球投注网站路径的第一个位置赋值。但是,在函数内部,有哪些信誉好的足球投注网站路径表第一个位置是局部变量名空间,所以变量赋值是局部赋值,被赋值的变量只在函数运行期间有效。 用ls()函数可以查看当前工作空间保存的变量和函数,用rm()函数可以剔除不想要的对象。如: ls()(或objects()) * [1] A Ai b cl cl.f fit1 g1 marks ns [10] p1 rec tmp.x x x1 x2 x3 y rm(x, x1, x2, x3) ls() [1] A Ai b cl cl.f fit1 g1 marks ns [10] p1 rec tmp.x y ls()可以指定一个pattern参数,此参数定义一个匹配模式,只返回符合模式的对象名。模式格式是UNIX中grep的格式。比如,ls(pattern=tmp[.])可以返回所有以“tmp.” 开头的对象名。 rm()可以指定一个名为list的参数给出要删除的对象名,所以rm(list=ls(pattern=“tmp[.]”)) 可以删除所有以“tmp.”开头的对象名。 rm(list=ls()) 删除所有对象。 * 程序设计举例 设计R程序是很容易的,在初学时我们只要使用我们从一般程序设计中学来的知识并充分利用R中现成的各种算法及绘图函数就可以了。但是,如果要用R编制计算量较大的程序,或者程序需要发表,就需要注意R程序设计的一些技巧。 用R语言开发算法,最重要的一点是要记住R是一个向量语言,计算应该尽量通过向量、矩阵运算来进行,或者使用R提供的现成的函数,避免使用显式循环。显式循环会大大降低R的运算速度,因为R是解释执行的。 * n=1:10; x=sin(n*pi/10); cat(x=,x) [1] x= 0.309017 0.5877853 0.809017 0.9510565 1 0.9510565 0.809017 0.5877853 0.309017 1.224606e-16 fsin - function(x){ sin - 0; for ( i in 1:length(x)) { sin[i] - sin(x[i]*pi/10); } return(sin); } y - 1:10; fsin(y); [1] 3.090170e-01 5.877853e-01 8.090170e-01 9.510565e-01 1.000000e+00 [6] 9.510565e-01 8.090170e-01 5.877853e-01 3.090170e-01 1.22
您可能关注的文档
- 第十章 齿轮机构及其设计PPT课件.ppt
- 第十课 历史规律与人生目标(修正版)PPT课件.ppt
- 第四章 多元系的复相平衡和化学平衡PPT课件.ppt
- 第四章 愈伤组织培养PPT课件.ppt
- 第四章 群落生态学PPT课件.ppt
- 第四章 环境分析与决策PPT课件.ppt
- 第四章_财政法律制度PPT课件.ppt
- 第四篇_突发事件应急管理法制PPT课件.ppt
- 第四节:眼睛与眼镜PPT课件.ppt
- 第四讲:图片在版式设计中的运用PPT课件.ppt
- 艺术疗法行业商业机会挖掘与战略布局策略研究报告.docx
- 智能家庭娱乐系统行业商业机会挖掘与战略布局策略研究报告.docx
- 医疗纠纷预防和处理条例与医疗事故处理条例的思考分享PPT课件.pptx
- 新冀教版(2025)七年级数学下册《6.1 二元一次方程组》习题课件.pptx
- 新冀教版(2025)七年级数学下册精品课件:6.2.3 二元一次方程组的解法代入、加减消元法的综合应用.pptx
- 导演节目行业市场发展趋势及投资咨询报告.docx
- 制作和服培训行业风险投资态势及投融资策略指引报告.docx
- 医疗转诊的行政服务行业消费市场分析.docx
- 文件装订行业市场发展趋势及投资咨询报告.docx
- 在线语言艺术教育行业分析及未来五至十年行业发展报告.docx
文档评论(0)