if_else与if(){}else

ifelse()函数

Usage
ifelse(test, yes, no)
  • 如果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{}中的条件判断中只得到一个逻辑结果(如果有多个逻辑结果,会自动取第一个,并抛出警告)。然后根据这个逻辑结果,取后面表达式的值。

(0)

相关推荐

  • 精通Excel数组公式012:布尔逻辑:AND和OR

    excelperfect 导言:本文为<精通Excel数组公式(学习笔记版)>中的一部分内容节选.如果你想要系统学习并熟练掌握Excel数组公式,可以到知识星球App的完美Excel社群下 ...

  • 手把手教学Excel逻辑函数AND,实例讲解

    AND函数用于当所有的条件均为 "真" (TRUE)时,返回的运算结果为 "真" (TRUE);反之,返回的运算结果为 "假" (FALSE ...

  • Excel 2016︱逻辑判断函数

    使用逻辑函数可以对单个或多个表达式进行逻辑计算,然后返回一个逻辑值. 逻辑函数与乘法.加法运算 AND 函数.OR 函数和 NOT 函数分别对应"与""或"和& ...

  • R学习 流程控制 if,else,ifelse

    R学习往期回顾: R学习 从Tidyverse学起,入门R语言(tidyr和stringr) R学习 从Tidyverse学起,入门R语言(tibble,readr和dplyr) R学习:字符串 R学 ...