在R中,switch函数的语法形式如下:
其中,expr为表达式,其值或为一个整数值或为一个字符串;list为一个列表。
运行机理:若expr的计算结果为整数,且值在1~length(list)之间时,则switch()函数返回列表相应位置的值。若expr的值超出范围,则没有返回值(老版本的R中返回NULL)。
例1:
由该例可知,x的值为2,则switch函数根据传入的值2,输出列表中的第2个值:国家纳米科学中心。
例2:看看下面两个例子的输出值是多少:
若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的使用方法
先定义一个向量
R语言switch的使用方法
使用for结构对switch进行循环输出
R语言switch的使用方法
编写switch结构的语言
R语言switch的使用方法
回车后,根据print函数输出switch函数的结构
R语言switch的使用方法
6
应用解析:for对向量bd进行循环,
通过print对switch定义的结构判断结构中符合向量的要求,
然后把符合要求的输出!
function用来定义函数,一般一个函数放在一个.m文件里。举个简单的例子建立一个myfunction.m,然后在文件中写。function y=myfunction(a,b)
其中a,b是输入函数的参数,y是函数返回的值。当需要返回多个值时,可以将y看作一个数组,或者直接将函数的开头写成如function [x,y]=myfunction(x,y)的形式。
然后就是定义函数的内容,通俗的说就是怎样由输入参数a,b得到返回值y。比如最简单的y=a+b。
总结一下,将下面的代码
function y=myfunction(a,b)
y=a+b
保存为一个m文件myfunction.m,调用方式如下。
num=myfunction(3,4)
这样就可以由函数中的y=a+b得到num的值是3+4=7。
以上是最简单的例子,不知说清楚没有,