R语言中的switch与其它语言中的switch有很大区别。
在R中,switch函数的语法形式如下:
switch(expr, list)
其中,expr为表达式,其值或为一个整数值或为一个字符串;list为一个列表。
运行机理:若expr的计算结果为整数,且值在1~length(list)之间时,则switch()函数返回列表相应位置的值。若expr的值超出范围,则没有返回值(老版本的R中返回NULL)。
例1:
x <- 2
switch(x, "郑州大学", "国家纳米科学中心", "R语言学习")
[1] "国家纳米科学中心"
由该例可知,x的值为2,则switch函数根据传入的值2,输出列表中的第2个值:国家纳米科学中心。
例2:看看下面两个例子的输出值是多少:
switch(3, 3+5, 3*5, 3-5, 3**5)
[1] -2
switch(2*2, mean(1:10), sum(1:10), max(1:10), min(1:10), sqrt(1:10))
[1] 1
若switch()中的参数list是有名定义时,则当expr等于元素名时,返回变量名对应的值,否则没有返回值。
例3:
you.like<-"fruit"
switch(you.like, drink="water", meat = "beef", fruit = "apple", vegetable="cabbage")
我们使用switch函数的这一性质可以定义一个函数实现多种操作:
R语言的switch结构是常用的一种结构
工具/原料
R语言开发环境
R语言开发工具
方法/步骤
打开R语言开发工具,RGui
R语言switch的使用方法
先定义一个向量
bd<-c("b","d")
R语言switch的使用方法
使用for结构对switch进行循环输出
for(i in bd) {
print(switch (i,a='aaaa',b='bbbb',c='cccc',d='dddd',
case = action
))
}
[1] "bbbb"
[1] "dddd"
R语言switch的使用方法
编写switch结构的语言
R语言switch的使用方法
回车后,根据print函数输出switch函数的结构
R语言switch的使用方法
6
应用解析:for对向量bd进行循环,
通过print对switch定义的结构判断结构中符合向量的要求,
然后把符合要求的输出!