R if...else

在计算机编程中,if 语句允许我们创建决策程序。

决策程序在一种条件下运行一个代码块,在不同条件下运行另一个代码块。例如,

  • 如果年龄大于 18 岁,则允许该人投票。
  • 如果年龄不大于 18 岁,则不允许该人投票。

R if 语句

if 语句的语法是

if (test_expression) {
  # body of if
}

这里,test_expression 是一个布尔表达式。它返回 TrueFalse。如果 test_expression

  • True - if 语句的主体被执行
  • False - if 语句的主体被跳过

示例:R if 语句

x <- 3

# check if x is greater than 0
if (x > 0) {
  print("The number is positive")
}

print("Outside if statement")

输出

[1] "The number is positive"
[1] "Outside if statement"

在上面的程序中,测试条件 x > 0 为真。因此,括号内的代码被执行。

注意:如果您想了解更多关于测试条件的信息,请访问R 布尔表达式


R if...else 语句

我们还可以将可选的 else 语句与 if 语句一起使用。if...else 语句的语法是

if (test_expression) {
  # body of if statement
} else {
  # body of else statement
}

if 语句评估括号内的 test_expression。

如果 test_expression 为 True,

  • if 主体被执行
  • else 主体被跳过

如果 test_expression 为 False

  • else 主体被执行
  • if 主体被跳过

示例:R if...else 语句

age <- 15

# check if age is greater than 18
if (age > 18) {
  print("You are eligible to vote.")
} else {
  print("You cannot vote.")
}

输出

[1] "You cannot vote."

在上面的语句中,我们创建了一个名为 age 的变量。这里,测试表达式是

age > 18

由于 age16,测试表达式是 False。因此,else 语句内的代码被执行。

如果我们将变量更改为另一个数字。比如 31

age <- 31

现在,如果运行程序,输出将是

[1] "You are eligible to vote."

示例:检查正数和负数

x <- 12

# check if x is positive or negative number
if (x > 0) {
  print("x is a positive number")
} else {
  print("x is a negative number")
}

输出

[1] "x is a positive number"

这里,由于 x > 0 评估为 TRUE,所以 if 块内的代码被执行。而 else 块内的代码被跳过。


R if...else if...else 语句

如果您想测试多个条件,可以使用可选的 else if 语句以及您的 if...else 语句。语法是

if(test_expression1) {
  # code block 1
} else if (test_expression2){
  # code block 2
} else {
  # code block 3
}

这里,

  • 如果 test_expression1 评估为 True,则执行 代码块 1
  • 如果 test_expression1 评估为 False,则评估 test_expression2
    • 如果 test_expression2True,则执行 代码块 2
    • 如果 test_expression2False,则执行 代码块 3

示例:R if...else if...else 语句

x <- 0

# check if x is positive or negative or zero
if (x > 0) {
  print("x is a positive number")
} else if (x < 0) {
  print("x is a negative number")
} else {
  print("x is zero")
}

输出

[1] "x is zero"

在上面的示例中,我们创建了一个名为 x 的变量,其值为 0。这里,我们有两个测试表达式

  • if (x > 0) - 检查 x 是否大于 0
  • else if (x < 0) - 检查 x 是否小于 0

这里,两个测试条件都是 False。因此,执行 else 主体内的语句。


R 中的嵌套 if...else 语句

您可以在 R 的 if...else 块中嵌套 if...else 语句。这称为嵌套 if...else 语句。

这允许您在条件中指定条件。例如,

x <- 20

# check if x is positive
if (x > 0) {

  # check if x is even or odd
  if (x %% 2 == 0) {
    print("x is a positive even number")
  } else {
    print("x is a positive odd number")
  }

# execute if x is not positive
} else {

  # check if x is even or odd
  if (x %% 2 == 0) {
    print("x is a negative even number")
  } else {
    print("x is a negative odd number")
  }
}

输出

[1] "x is a positive even number"

在此程序中,外部 if...else 块检查 x 是正数还是负数。如果 x 大于 0,则执行外部 if 块内的代码。

否则,执行外部 else 块内的代码。

if (x > 0) {
  ... .. ...
} else {
  ... .. ...
}

内部 if...else 块检查 x 是偶数还是奇数。如果 x 可以被 2 完全整除,则执行内部 if 块内的代码。否则,执行内部 else 块内的代码。

if (x %% 2 == 0) {
  ... .. ...
} else {
  ... .. ...
}
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战