美文网首页
[R Tips] switch

[R Tips] switch

作者: BeeBee生信 | 来源:发表于2020-05-15 13:27 被阅读0次

    有时候你写出了下面这种很简单的判断语句但判断的条件比较多。

    x <- "A"
    
    if (x == "A") {
      print(1)
    } else if (x == "B") {
      print(2)
    } else if (x == "C") {
      print(3)
    }
    

    这时候用 switch 函数就非常简洁。

    > switch (x, "A" = 1, "B" = 2, "C" = 3)
    [1] 1
    

    除了用名字匹配,也可以输入位置。

    > switch (2, "A" = 1, "B" = 2, "C" = 3)
    [1] 2
    

    多个匹配时返回第一个的值,实际写代码应尽量避免这种情况。

    > switch ("A", "A" = 1, "B" = 2, "C" = 3, "A" = 4)
    [1] 1
    > switch ("A", "A" = 15, "B" = 2, "C" = 3, "A" = 4)
    [1] 15
    

    可以设定一个未命名的值,无匹配时返回这个值,可以用于返回默认值。

    > switch ("K", "A" = 15, "B" = 2, "C" = 3, 4)
    [1] 4
    > switch ("M", "A" = 15, "B" = 2, "C" = 3, 4)
    [1] 4
    > switch ("C", "A" = 15, "B" = 2, "C" = 3, 4)
    [1] 3
    

    相关文章

      网友评论

          本文标题:[R Tips] switch

          本文链接:https://www.haomeiwen.com/subject/xglcohtx.html