R ifelse() 函数

在 R 中,ifelse() 函数是标准 if...else 语句的简写向量化替代方案。

R 中的大多数函数都接受向量作为输入并返回向量化输出。同样,传统 if...else 块的向量等效项是 ifelse() 函数。

ifelse() 函数的语法是

ifelse(test_expression, x, y)

如果 test_expression 的输出为 TRUE,则输出向量的元素为 x。如果输出为 FALSE,则输出向量中的元素将为 y


示例 1:用于奇数/偶数的 ifelse() 函数

# input vector
x <- c(12, 9, 23, 14, 20, 1, 5)

# ifelse() function to determine odd/even numbers
ifelse(x %% 2 == 0, "EVEN", "ODD")

输出

[1] "EVEN" "ODD"  "ODD"  "EVEN" "EVEN" "ODD"  "ODD" 

在这个程序中,我们使用 R 中的 c() 函数定义了一个向量 x。该向量包含一些奇数和偶数。

然后我们使用了 ifelse() 函数,它将向量 x 作为输入。然后对 x 执行逻辑运算以确定元素是奇数还是偶数。

对于向量中的每个元素,如果 test_expression 的评估结果为 TRUE,则对应的输出元素为 "EVEN",否则为 "ODD"。


示例 2:用于及格/不及格的 ifelse() 函数

# input vector of marks
marks <- c(63, 58, 12, 99, 49, 39, 41, 2)

# ifelse() function to determine pass/fail
ifelse(marks < 40, "FAIL", "PASS")

输出

[1] "PASS" "PASS" "FAIL" "PASS" "PASS" "FAIL" "PASS" "FAIL"

此程序根据条件确定学生是否及格或不及格。在这里,如果向量中的分数小于 40,则该学生被认为不及格。

你觉得这篇文章有帮助吗?

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

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

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