- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
R-5_程序设计课件
第五讲 R的数据结构(三)程序设计;程序控制结构 ;分支结构 ;例如,如果变量lambda为缺失值就给它赋一个缺省值,可用: if(is.na(lambda)) lambda - 0.5;
又比如要计算向量x的重对数,这只有在元素都为正且对数都为正时才能做到,因此需要先检查:if (all(x0) all(log(x) 0))
{ y - log(log(x)); print(cbind(x,y)); }
else { cat(Unable to comply\n); }
注意“”表示“与”,它是一个短路运算符,即第一个条件为假时就不计算第二个条件。如果不这样此例中计算对数就可以有无效值。
在条件中也可以用“||”(两个连续的竖线符号)表示“或”,它也是短路运算符,当第一个条件为真时就不再计算第二个条件。
“” 、“||”只对标量适用,而“” 、“|”适用于向量;在用R编程序时一定要时刻牢记R是一个向量语言,几乎所有操作都是对向量进行的。而R中的if语句却是一个少见的例外,它的判断条件是标量的真值或假值。比如,我们要定义一个分段函数f(x),当x为正时返回1,否则返回0,马上可以想到用if语句实现如下:
if(x0) 1 else 0
当x是标量时这个定义是有效的,但是当自变量x是一个向量时,比较的结果也是一个向量,这时条件无法使用。所以,这个分段函数应该这样编程:
y= numeric(length(x))
y[x0] - 1
y[x=0] - 0
有多个if语句时else与最近的一个配对。可以使用if ... else if ... else if ... else ...的多重判断结构表示多分支。多分支也可以使用switch()函数。;help(swicth)
switch(base)
Select One of a List of Alternatives
Description
switch evaluates EXPR and accordingly chooses one of the further arguments (in ...).
Usage
switch(EXPR, ...)
Arguments
EXPRan expression evaluating to a number or a character string....the list of alternatives, given explicitly.
Details
If the value of EXPR is an integer between 1 and nargs()-1 then the corresponding element of ... is evaluated and the result returned.
If EXPR returns a character string then that string is used to match the names of the elements in .... If there is an exact match then that element is evaluated and returned if there is one, otherwise the next element is chosen, e.g., switch(cc, a=1, cc=, d=2) evaluates to 2.
In the case of no match, if theres a further argument in switch that one is returned, otherwise NULL.
See Examples;Examples
require(stats)
centre - function(x, type) { switch(type, mean = mean(x), median = median(x), trimmed = mean(x, trim = .1)) }
x - rcauchy(10)
centre(x, mean) centre(x, median) centre(x, trimmed)
ccc - c(b,QQ,a,A,bb)
for(ch in ccc) cat(ch,:,switch(EXPR = ch, a=1, b=2:3), \n)
for(ch in ccc)
cat(ch,:,switch(EXPR = ch, a=, A=1, b=2:
您可能关注的文档
- Presentation of MMC Products课件.ppt
- princ-ch06-presentation课件.ppt
- printList((p)next)课件.ppt
- Principle of structure dependency课件.ppt
- principles of Physics--22polarization课件.ppt
- PRE_PPT_CHAP3_V1.0课件.ppt
- Principles of Flight课件.ppt
- prime numbers and sum numers课件.ppt
- Problem Solving Tool_8D_CAR_X01_20091216课件.ppt
- Prisma调较维修课件.ppt
- 银联智策2026年校园招聘备考题库及一套答案详解.docx
- 2025年金华市金东区教育体育局体育特长教师招聘5人备考题库完整答案详解.docx
- 2025年重庆大学大数据与软件学院科研团队劳务派遣助理招聘备考题库及参考答案详解一套.docx
- 2025年金华市技师学院招聘编外工作人员备考题库完整参考答案详解.docx
- 2025年遂宁市大数据中心遂宁数字经济研究院的招聘备考题库及参考答案详解1套.docx
- 2025年锡林郭勒盟应急管理局公开招聘驻矿安全生产监管专家的备考题库及一套答案详解.docx
- 银联智策2026年校园招聘备考题库参考答案详解.docx
- 2025年英德市公安公开招聘警务辅助人员57人备考题库及答案详解参考.docx
- 2025年盐城市机关事务管理局直属事业单位公开选调工作人员备考题库参考答案详解.docx
- 2025年第十师北屯市公安局面向社会公开招聘警务辅助人员备考题库及答案详解1套.docx
最近下载
- 【大单元·任务式】人美版八上第四单元第2课《彰显文化传承》精品课件(30页).pptx VIP
- 2023年太原铁路局招聘192人(共500题含答案解析)笔试历年难、易错考点试题含答案附详解.docx VIP
- 静脉血栓的诊断与治疗.pptx VIP
- 《音乐之声》台词(中英对照).doc VIP
- 七年级语文期末模拟卷(考试版A4)【测试范围:上册1~6单元】(贵州专用).docx VIP
- 生物医学大数据分析.pptx VIP
- 国家开放大学(电大)《经济法学》2021年7月春季期末考试真题及答案(试卷代号:2096).pdf VIP
- DB51_T 3039-2023 大熊猫国家公园保护站点网格化管理建设规范.docx VIP
- 消毒供应中心与临床科室的沟通.pptx VIP
- 2026-2030激光雷达行业市场发展分析及前景趋势与投资研究报告.docx
原创力文档


文档评论(0)