R语言中switch函数与其它语言中的switch具有天壤之别

语言中的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语言方面的文章,内容由浅入深,由基本语法到具体的数据分析应用。希望你能喜欢。