语言中的switch函数与其它语言中的switch语句是完全不同的,从这里的叫法中大家也应该知道,R中的switch是一个函数,而其它语言中switch是一个开关语句。
在R语言中,switch函数的语法形式如下:
switch(expr, list)
其中,expr为表达式,其值或为一个整数值或为一个字符串;list为一个列表。
运行机理:若expr的计算结果为整数,且值在1~length(list)之间时,则switch()函数返回列表相应位置的值。若expr的值超出范围,则没有返回值(老版本的R中返回NULL)。
例1:一个简单的应用
x
switch(x, "翔宇亭IT乐园", "头条号", "R语言学习", "优美的代码")
由该例可知,x的值为2,则switch函数根据传入的值2,输出列表中的第2个值:头条号。
例2:看看下面两个例子的输出值是多少:
switch(3, 3+5, 3*5, 3-5, 3**5)
switch(2*2, mean(1:10), sum(1:10), max(1:10), min(1:10), sqrt(1:10))
若switch()中的参数list是有名定义时,则当expr等于元素名时,返回变量名对应的值,否则没有返回值。
例3:
you.like
switch(you.like, drink="water", meat = "beef", fruit = "apple", vegetable = "cabbage")
我们使用switch函数的这一性质可以定义一个函数实现多种操作:
欢迎关注本号,本号将持续更新R语言方面的文章,内容由浅入深,由基本语法到具体的数据分析应用。希望你能喜欢。