R语言由一个个基础函数组成,熟练灵活应用这些基础函数,有助于我们更好的学习R包及编程,这个专栏可能很多人不感兴趣,但是对提升自己很有帮助,感兴趣的朋友一起来学习。

switch函数在R中作为条件判断分支的语句,类似与if语句,但比if语句简单,可以实现更加复杂的功能,在编程中有很大帮助。

它的基本语法是

switch(expression, case1, case2, case3....)

这里以R语言中switch函数的帮助文件例子做讲解(帮助文件讲的很好,不用在找例子了)
我们先生成一个centre的函数,有两个变量

centre <- function(x, type) {switch(type,mean = mean(x),median = median(x),trimmed = mean(x, trim = .1))
}

我们来看看switch的部分type是你选择的类型,是你要填入的选项,有3个备用选项待选mean,median ,trimmed,你选了哪个就会使用哪个的算法,假设你选了mean,R软件就会执行mean(x),求出x的平均值。好的我们接下来看。
这个函数有两个变量x和type,我们先生成一个x,

x <- rcauchy(10)


x由10个数组成

centre(x, "mean")

输入x,和"mean"后switch判断mean = mean(x),将会对x取平均数

其他的算法也是一样的

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")

这个循环的意思是ch 在ccc这个向量中跑一遍,然后函数cat输出ch,:号和switch判断的语句,如ch等于a就输出1,等于b就输出2:3,没有符合的条件switch这里就没有输出

再来一个循环

for(ch in ccc)cat(ch,":", switch(EXPR = ch, a =, A = 1, b = 2:3, "Otherwise: last"),"\n")

这个循环和上一个不同的是上一个是没有符合的条件switch这里就没有输出,这个是没有符合的条件,switch这里输出Otherwise: last

下面来做个分类变量的例子,先生成个分类变量

ff <- gl(3,1, labels=LETTERS[3:1])
ff


我们取第一个字母C

 ff[1] # C


我们期望这里输出 is C,但并不是,而且出了警告

switch(ff[1], A = "I am A", B="Bb..", C=" is C")


因为C是分类变量,而这里把它当成字符变量判断了,我们改一下

switch(as.character(ff[1]), A = "I am A", B="Bb..", C=" is C")


一起来学 R编程吧(2)---判断语句switch函数的用法相关推荐

  1. shell编程之条件判断语句和流程控制语句

    shell条件判断语句和流程控制语句 文章目录 shell条件判断语句和流程控制语句 一.条件判断语法结构 1. 条件判断语法格式 2. 条件判断相关参数 二.流程控制语句 1. 基本语法结构 2. ...

  2. c语言if判断语句中有函数,if条件判断语句,谁能帮我分析一下?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 测试平台是一个stm32f103zet6的ARM芯片, 我这里只是把它当作单片机来用,下面的程序是平台提供的,可以正常使用,有几个地方不能理解! //mo ...

  3. MySQL 判断语句 条件函数 case when、if、ifnull

    在MySQL中,需要用到条件判断函数,例如 case when.if.ifnull. 一.方法分类 二.具体方法 (1)if if(expr,result_true,result_false) 注意: ...

  4. makefile条件判断语句和函数

    1.makefile中支持条件判断语句 可以根据条件的值来决定make的执行 可以比较两个不同变量或者变量和常量值 ifxxx(arg1,arg2)elseendif 注意事项:条件判断语句只能用于控 ...

  5. java break语句_跟我学java编程—Java跳转语句—break语句

    有时可能不知道循环将要执行的次数,终止循环的条件可在以后确定,所以需要提供一种机制在条件满足的时候跳出循环.有时候,我们需要根据条件跳过循环中的一些语句.Java语言提供了break和continue ...

  6. 基础知识—条件判断语句-switch语句

    if语句是单一分支选择的,C++又提供了一种多分支选择的switch语句. switch语句的一般表现形式 switch(表达式) { case 表达式常量1: 语句1: break; case 表达 ...

  7. Matlab编程与数据类型 -- 开关语句switch/end

    本微信图文详细介绍了Matlab中switch/end开关语句.

  8. matlab rad2deg,在R编程中将弧度值转换为度值–rad2deg()函数

    R语言中的rad2deg()函数用于将指定的弧度值转换为度数值.注意:此函数需要安装"grid"包.语法:rad2deg(x)参数:x:要转换的弧度值示例1:filter_none ...

  9. continue语句只用于循环语句中_Java之循环语句、条件判断语句(三目运算符)、break、continue...

    之前的内容只是让读者可以定义变量,输出变量等基础功能而已.这远远是不够的,今天,我们学习的内容可以帮你开始完善自己想开发的内容,在这之前我们先理解一个概念:一个表达式的返回值是布尔值的表达式称为布尔 ...

最新文章

  1. 操作系统与多核处理器
  2. 学习Spring Boot:(四)应用日志
  3. “10%时间”:优点和缺点——敏捷海滩会议上Elizabeth Pope的报告
  4. tomcat安全认证
  5. Machine Learning - Coursera week5 Backpropagation in Practice
  6. 跨境电商ERP哪个好?
  7. Cornerstone详细操作
  8. Google Earth Engine(GEE)——使用在线的世界矢量边界作为研究区(国家和洲际),如何调用?
  9. 如何使用OBS录制采集卡视频内容
  10. 乘幂法求主特征值和特征向量(C++)
  11. Pointnet网络结构与代码解读
  12. 区块链的七阶段位,你属于哪一段?
  13. VC++中的各种文件的作用
  14. 能玩java游戏oppo按键手机_游戏手机排行榜 | OPPO Reno果然不负期待
  15. 前端MD5加密------js-md5
  16. 75个最佳网络安全工具
  17. 《Qt开发》基于QPolarChart的极坐标图绘制
  18. 提名推荐!15个2019年最佳CSS框架
  19. 中国胶印机市场运行调研及投资前景预测分析报告2022-2028年
  20. 蓝桥杯练习——不定方程解法2021.2.23

热门文章

  1. android竖屏固定,安卓教程:设置竖屏固定壁纸
  2. 软件测试应该何时介入项目?
  3. Android:一篇就够!全面详细解析APN(涉及内容:GGSN,authtype,MVNO,pdp,Apns-conf,supl,hipri,dun)
  4. 又开始的python-day10-20200821-文件操作相关内置函数-拷贝-读取-写入
  5. You have to use a classifier to attach supplemental artifacts to the project instead of replacing th
  6. 京东 京东健康HR面 17分钟电话面试
  7. guava LoadingCache 的用法
  8. 对四元数解算姿态的理解
  9. c语言满屏爱心,微信聊天可以发满屏动态爱心了 个性又浪漫!
  10. GeoServer中的WPS服务-概念