跳到主要内容

R语言 ifelse() 函数

提示
  1. ifelse() 函数基础:在 R 中,ifelse()if...else 语句的简写形式,提供向量化的条件检查和结果输出。
  2. 判断奇偶数:通过 ifelse() 函数,可以对数字向量进行奇偶判断,返回“偶数”或“奇数”的向量化输出。
  3. 实际应用示例:使用 ifelse() 判断成绩向量中每个元素是否及格,根据条件 (<40) 返回“及格”或“不及格”的结果。

在 R 中,ifelse() 函数是标准 if...else 语句的简写形式,且支持向量化操作。

R 中的大多数函数都接受向量作为输入并返回向量化的输出。类似地,传统 if...else 块的向量等价物是 ifelse() 函数。

ifelse() 函数的语法是:

ifelse(测试表达式, x, y)

输出向量中的元素为 x,如果 测试表达式 的输出为 TRUE。如果输出为 FALSE,则输出向量中的元素将为 y

示例 1:用 ifelse() 函数判断奇偶数

# 输入向量
x <- c(12, 9, 23, 14, 20, 1, 5)

# 使用 ifelse() 函数判断奇偶数
ifelse(x %% 2 == 0, "偶数", "奇数")

输出

[1] "偶数" "奇数"  "奇数"  "偶数" "偶数" "奇数"  "奇数"

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

然后我们使用了 ifelse() 函数,它接受向量 x 作为输入。接着对 x 进行逻辑运算,以判断元素是奇数还是偶数。

对于向量中的每个元素,如果 测试表达式 计算结果为 TRUE,那么相应的输出元素是 "偶数",否则是 "奇数"。

示例 2:使用 ifelse() 函数判断及格/不及格

# 成绩的输入向量
marks <- c(63, 58, 12, 99, 49, 39, 41, 2)

# 使用 ifelse() 函数判断及格/不及格
ifelse(marks < 40, "不及格", "及格")

输出

[1] "及格" "及格" "不及格" "及格" "及格" "不及格" "及格" "不及格"

这个程序根据条件判断学生是否及格。这里,如果向量中的成绩低于 40,则认为学生不及格。