📜  R 中的嵌套 if-else 语句(1)

📅  最后修改于: 2023-12-03 15:34:35.685000             🧑  作者: Mango

R 中的嵌套 if-else 语句

在 R 编程中,if-else 语句是非常常见的语句之一,用于根据某个条件执行不同的代码块。但是,有些情况下我们需要根据多个条件来执行不同的代码块,这时候就需要用到嵌套的 if-else 语句。

基本语法
if (condition1) {
    # condition1 成立时执行的代码块
} else if (condition2) {
    # condition1 不成立,condition2 成立时执行的代码块
} else {
    # condition1 和 condition2 都不成立时执行的代码块
}

如果 condition1 成立,那么第一个代码块将被执行,否则如果 condition1 不成立,但是 condition2 成立,那么第二个代码块将被执行,如果都不成立则执行最后一个代码块。

当然,也可以继续嵌套 if-else 语句来实现更复杂的条件判断。

if (condition1) {
    # condition1 成立时执行的代码块
} else {
    if (condition2) {
        # condition1 不成立,condition2 成立时执行的代码块
    } else {
        # condition1 和 condition2 都不成立时执行的代码块
    }
}
示例

接下来我们来看一个实际的例子。

假设一个班级有 30 个学生,根据他们的分数将他们分成三个等级:优秀、良好和及格。分数大于等于 80 分为优秀,60 到 80 分为良好,小于 60 分为及格。

我们可以采用如下代码来实现:

scores <- c(75, 85, 68, 90, 42, 73, 56, 92, 80, 62, 84, 45, 78, 55, 88, 38, 93, 76, 61, 82, 49, 72, 69, 98, 58, 87, 66, 79, 54, 97)

# 分数大于等于 80 分为优秀,60 到 80 分为良好,小于 60 分为及格
for (score in scores) {
    if (score >= 80) {
        cat("分数为", score, "的学生是优秀级别\n")
    } else if (score >= 60) {
        cat("分数为", score, "的学生是良好级别\n")
    } else {
        cat("分数为", score, "的学生是及格级别\n")
    }
}

在上面的代码中,我们首先定义了一个包含 30 个学生分数的向量 scores,然后通过 for 循环对每个学生的分数进行判断,根据分数输出相应的级别。

总结

在 R 编程中,if-else 语句是非常重要的控制流程语句之一,可以用来根据条件判断执行不同的代码块。当我们需要根据多个条件进行判断时,可以采用嵌套的 if-else 语句来实现。在实际编程中,我们应该合理运用 if-else 语句和嵌套 if-else 语句,使代码更加简洁和逻辑清晰。