R语言 ifelse() 函数
提示
ifelse()
函数基础:在 R 中,ifelse()
是if...else
语句的简写形式,提供向量化的条件检查和结果输出。- 判断奇偶数:通过
ifelse()
函数,可以对数字向量进行奇偶判断,返回“偶数”或“奇数”的向量化输出。 - 实际应用示例:使用
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,则认为学生不及格。