导入
if 语句
在本节课中,我们将学习 if 语句。
在编写程序时,你可能需要根据某些条件和输入来改变代码的执行流程。
例如,如果程序中处理的是数字,我们可能希望在接收到正整数时打印出“positive”。
在这种情况下,我们需要编写一个条件,用来判断:如果接收到的是正数,则打印“positive”。
针对这种情况,我们需要使用条件语句。
什么是条件语句?
条件语句用于编程语言中,根据某个特定条件是否成立,来执行不同的计算或操作。
让我们来看一个例子:

图示代码流程如何被改变。
上图是一个 if 语句的示例。这种图被称为流程图。其中,菱形框通常表示条件,矩形框表示执行语句,箭头表示程序的执行流程。
什么是 if 语句?
if 语句包含一个布尔表达式,当该表达式为真时,执行相应的操作。
条件满足的情况
1x <- 5 2if(x > 0) # 判断是否为正数的条件(所有正数都大于0) 3{ 4 print("Positive number") 5}
条件不满足的情况
1x <- -5 2if(x > 0) # 判断是否为正数的条件(所有正数都大于0) 3{ 4 print("Positive number") 5}
注意,这里我们使用了关系运算符 >,它会根据 x > 0 的值返回 TRUE 或 FALSE。这个结果决定了是否打印“positive”。
条件语句使程序员能够根据不同的 R 表达式来处理输入数据或数据特征。
让我们再看一个例子:
1myVector <- c(1, 2, 3, 5) 2testNumber <- 4 3 4if(!testNumber %in% myVector) 5{ 6 print("Not Found!") 7}
我们来分析第4行的条件 !testNumber %in% myVector:
条件语句解析:
testNumber %in% myVector用于检查变量testNumber中的数值是否存在于myVector向量中。在此例中,就是判断数字4是否在向量中。- 对于这段代码,结果是
FALSE。 - 接着,符号
!对testNumber %in% myVector的结果进行逻辑非(NOT)操作。 - 在本例中,对
FALSE取非,结果为TRUE。 - 因此,条件判断为满足,程序将继续执行下面的语句:
1print("Not Found!")