R语言中的switch函数与其它语言中的switch语句是完全不同的,从这里的叫法中大家也应该知道,R中的switch是一个函数,而其它语言中switch是一个开关语句。 在R语言中,switch函数的语法格式如下: switch(expr, list) 其中,参数expr为表达式,其值或为一个整数值或为一个字符串;list为一个列表,即根据expr的值来决定输出list中的哪一个值。 运行机理:若expr的计算结果为整数,且值在1~length(list)之间时,则switch()函数返回列表相应位置的值。若expr的值超出范围,则没有返回值(老版本的R中返回NULL)。 例1:一个简单的应用 x <- 2 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)) 上例中,根据传入的expr的值,来决定输出哪个表达式的值,这个例子告诉我们:expr和list中的项可以是表达式。 例3: 若switch()中的参数list是有名定义时,则当expr等于元素名时,返回变量名对应的值,否则没有返回值。 you.like <- "fruit" switch(you.like, drink="water", meat = "beef", fruit = "apple", vegetable = "cabbage") 这个例子中,列表中的项是有名的,这样根据我们第一个参数中传递的名字,在第二个参数中找出对应的值输出来。 例4: 利用switch函数的这一性质可以定义一个函数实现多种操作: ---------------------- 欢迎关注本号,本号将持续更新R语言方面的文章,内容由浅入深,由基本语法到具体的数据分析应用。希望你能喜欢。 |
|
来自: gearss > 《R语言情况和基本各种函数简单介绍》