R 编程中的逻辑运算符可用于组合两个或多个条件,并使用 &(逻辑与)、|(逻辑或)和 !(逻辑非)执行逻辑运算。
比较运算符可用于比较两个变量,如果我们想比较多个条件呢?非常简单,R 逻辑运算符可以为您完成。
下表描述了逻辑运算符。
| 运算符 | 名称 | 描述 | 示例 |
|---|---|---|---|
| & | AND | 当两个条件都为真时,它返回真 | c(20, 30) & c(30, 10) |
| && | AND | 与上面相同,但它作用于单个元素 | If (age > 18 && age <= 25) |
| | | OR | 与逻辑或相同,但它作用于单个元素 | c(20, 30) | c(30, 10) |
| || | OR | 如果条件为真,则逻辑非运算符返回假 | If (age == 35 || age < 60) |
| ! | NOT | 与上面相同,但它作用于单个元素 | 如果 age = 18,则 !( age = 18) 返回 false。 |
让我们看看这个编程中逻辑运算符背后的真值表,以便更好地理解
逻辑与真值表
R 逻辑与运算符背后的真值表如下所示
| 条件 1 | 条件 2 | 条件 1 && 条件 2 |
|---|---|---|
| 真 | 真 | 真 |
| 真 | 假 | 假 |
| 假 | 真 | 假 |
| 假 | 假 | 假 |
逻辑或真值表
编程逻辑或运算符背后的真值表如下所示
| 条件 1 | 条件 2 | 条件 1 || 条件 2 |
|---|---|---|
| 真 | 真 | 真 |
| 真 | 假 | 真 |
| 假 | 真 | 真 |
| 假 | 假 | 假 |
R 中的基本逻辑运算符示例
此示例可帮助您了解此编程中的逻辑运算符如何在 If 语句中使用。
对于这个逻辑运算符示例,我们分配了一个整数变量。然后,在 If 语句中,我们使用基本逻辑运算符,如 &&、|| 和 !。请参考 R 中的比较运算符文章。
# Logical Operators example
age <- 16
if (!(age > 18)) {
print("You are Too Young")
} else if(age > 18 && age <= 35) {
print("Young Guy")
} else if(age == 36 || age <= 60) {
print("You are Middle Age Person")
} else {
print("You are too Old")
}
从下面的屏幕截图中,您可以看到我们输入了 age = 16。这意味着年龄不大于 18,因此第一条语句将被打印。

让我们看看当我们更改值时会发生什么。从下面的屏幕截图中,可以看到我们输入了 age = 29。这意味着年龄在 18 到 35 之间,因此第二条语句将被打印。
"Young Guy"
从下面的屏幕截图中,可以看到我们输入了 age = 45。这意味着年龄在 36 到 60 之间,因此第三条语句将打印输出。
"You are Middle Age person"
从下面的屏幕截图中,可以看到我们输入了 age = 72。

R 逻辑运算符示例
此示例可帮助您了解每个逻辑运算符的工作原理。请记住,任何大于零的正整数值都被视为布尔 TRUE,而 0 被视为布尔 FALSE。
# Logical Operators example
num1 <- c(TRUE, FALSE, 0, 23)
num2 <- c(FALSE, FALSE, TRUE, TRUE)
# Performs AND operation on each element in both num1, num2
num1 & num2
# Performs AND operation on first element in both num1, num2
num1 && num2
# Performs OR operation on each element in both num1, num2
num1 | num2
# Performs OR operation on first element in both num1, num2
num1 || num2
This will convert all the num1 TRUE values to FALSE, and FALSE values to TRUE
!num1
# From num2 Vector - This will convert all the TRUE values to FALSE, and FALSE to TRUE
!num2

在这些逻辑运算符示例中,首先,我们声明了两个向量
num1 <- c(TRUE, FALSE, 0, 23) num2 <- c(FALSE, FALSE, TRUE, TRUE)
以下语句比较每个向量元素并查找逻辑关系。
num1 & num2
以下语句比较 num1 向量的第一个元素和 num2 向量的第一个元素。这意味着 TRUE && FALSE = FALSE。
num1 && num2