分享

R语言中switch函数的用法

 gearss 2018-09-21

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多