在 R 编程中,将一个 If 语句放在另一个 If 语句内部,称为嵌套 If Else。If Else 语句允许我们根据表达式的结果(TRUE 或 FALSE)打印不同的语句。有时,当条件为 TRUE 时,我们需要进一步检查。在这些情况下,我们可以使用此嵌套 If Else 概念,但请谨慎使用。
例如,每个人只要年满 18 岁就有资格工作。但是,政府或任何公司不会给每个人提供工作。因此,我们使用另一个 If 语句,也称为 R 编程中的嵌套 If Else 语句,来检查他/她是否具有先前经验、教育背景或任何特定于工作的要求。
在本文中,我们将通过示例向您展示如何在 R 编程语言中编写嵌套 If Else 语句。在开始示例之前,让我们先了解一下嵌套 If Else 语句的语法。
R 嵌套 If Else 语法
此编程语言中嵌套 If Else 语句的基本语法如下:
if (Boolean_Expression 1) {
#Boolean_Expression 1 result is TRUE then, it will check for Boolean_Expression 2
if (Boolean_Expression 2) {
#Boolean_Expression 2 result is TRUE, then these statements will be executed
Boolean_Expression 2 True statements
} else {
#Boolean_Expression 2 result is FALSE then, these statements will be executed
Boolean_Expression 2 False statements
} else {
#If the Boolean_Expression 1 result is FALSE, these statements will be executed
Boolean_Expression 1 False statements
}
R 嵌套 If Else 流程图
下图显示了此编程中嵌套 If 语句的流程图。
- 如果测试条件 1 为 FALSE,则执行语句 3。
- 如果测试条件 1 为 TRUE,则将检查测试条件 2。如果为 TRUE,则执行语句 1。否则,执行语句 2。

R 编程嵌套 If Else 示例
此嵌套 If Else 程序允许用户输入他们的年龄,然后我们将该年龄存储在变量 `my.age` 中。如果用户输入的年龄小于 18 岁,我们将打印两条语句。如果条件不满足,我们将检查另一个条件(嵌套 If Else),如果满足,我们将打印一些内容。如果嵌套条件不满足,我们将打印其他内容。
my.age <- as.integer(readline(prompt="Please Enter your Age: "))
if (my.age < 18) {
print("You are Not a Major.")
print("You are Not Eligible to Work")
} else {
if (my.age >= 18 && my.age <= 60 ) {
print("You are Eligible to Work")
print("Please fill the Application Form and Email to us")
} else {
print("As per the Government Rules, You are too Old to Work")
print("Please Collect your pension!")
}
}
print("This Message is from Outside the Nested IF Else Statement")
在嵌套 If Else 程序示例中,如果指定人员的年龄小于 18 岁,则他/她不符合工作资格。如果年龄大于或等于 18 岁,则第一个条件失败,将检查 else 语句。在 else 语句中,有一个布尔表达式(称为嵌套 If Else)。
- R 嵌套 If Else 语句检查该人员的年龄是否大于或等于 18 岁且小于或等于 60 岁。如果表达式为 TRUE,则他/她可以申请工作。
- 如果表达式结果为 FALSE,则根据政府规定,他/她年龄太大,无法工作。
- 我们在 If Else 块之外放置了一个 print 语句,无论条件结果如何,它都会执行。
请参阅本文中的 If Else 语句 和 If 语句 文章,以及 R 编程。
输出 1:我们将输入年龄 = 35,这意味着第一个 IF 条件为 FALSE。它将进入 else 块,并在 else 块中检查 `if (age >= 18 && age <=60)`,此时为 TRUE。因此,它将打印此块内的语句。

输出 2:从下面的 R 嵌套 If Else 屏幕截图中,您可以看到我们输入了年龄 = 14,这意味着第一个 If 条件为 TRUE。因此,第一个 if 块内的语句将被执行。

这次,我们将输入年龄 = 67,这意味着第一个 If 条件为 FALSE。它将进入 else 块,并在 else 块中检查表达式 `if (age >= 18 && age <=60)`,此时为 FALSE。因此,它将打印嵌套 else 块内的语句。
[1] "As per the Government Rules, You are too Old to Work"
[1] "Please Collect your pension!"
> print("This Message is from Outside the Nested IF Else Statement")
[1] "This Message is from Outside the Nested IF Else Statement"