美文网首页计算机语言工具文科普
ifelse()函数Example | 例子

ifelse()函数Example | 例子

作者: Seurat_Satija | 来源:发表于2022-01-11 14:57 被阅读0次

    ifelse()函数
    Usage
    ifelse(test, yes, no)
    ifelse returns a value with the same shape as test which is filled with elements selected from either yes or no depending on whether the element of test is TRUE or FALSE.
    如果test成立,执行yes,否则执行no,可以对数据做递归循环。
    Example | 例子

    ??ifelse
    x <- c(1:10)

    单次判断函数

    ifelse(x<5,'T','F')
    [1] "T" "T" "T" "T" "F" "F" "F" "F" "F" "F"

    函数嵌套应用

    ifelse(x<5,ifelse(x<3, 'A','B'), 'C')
    [1] "A" "A" "B" "B" "C" "C" "C" "C" "C" "C"
    先从整体判断x<5的真假:
    1. 大于5的记作"C";
    2. 小于5的再做判断;
    小于3的记作"A";
    大于3(且小于5)的记作"B"

    两者区别

    a <- 0
    b <- c(1, 2, 3)
    ifelse(a==0, b, 0) #把判断正确的'b'返回到'a'中
    [1] 1
    if(a==0){b}else{0}
    [1] 1 2 3

    d <- c(1, 2, 3)
    e <- 0
    ifelse(d==c(1, 2, 3), 1, 0)
    [1] 1 1 1
    if(d==c(1, 2, 3)){1}else{0}
    [1] 1
    Warning message:
    In if (d == c(1, 2, 3)) { : 条件的长度大于一,因此只能用其第一元素
    ifelse()与if(){}else(){}的区别:

    ifelse()中的条件判断中可以得到多个逻辑结果,有多少个逻辑结果,ifelse()的返回值就有多少个元素,且不同的逻辑结果取不同的值。
    if(){}else{}中的条件判断中只得到一个逻辑结果(如果有多个逻辑结果,会自动取第一个,并抛出警告)。然后根据这个逻辑结果,取后面表达式的值。

    相关文章

      网友评论

        本文标题:ifelse()函数Example | 例子

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