如何在 r 中使用“or”运算符(附示例)


您可以使用| R 中的符号为“OR”运算符。

例如,您可以使用以下基本语法来过滤 R 数据框中满足条件 1条件 2 的行:

 df[(condition1) | (condition2), ]

以下示例展示了如何在不同场景中使用此“OR”运算符。

示例1:在R中使用“OR”运算符根据数值过滤行

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'),
                 points=c(25, 12, 15, 14, 19, 23, 25, 29),
                 assists=c(5, 7, 7, 9, 12, 9, 9, 4),
                 rebounds=c(11, 8, 10, 6, 6, 5, 9, 12))

#view data frame
df

  team points assists rebounds
1 to 25 5 11
2 A 12 7 8
3 B 15 7 10
4 B 14 9 6
5 B 19 12 6
6 B 23 9 5
7 C 25 9 9
8 C 29 4 12

我们可以使用以下语法来过滤数据框中的点列中的值大于 20辅助列中的值等于 9 的行:

 #filter rows where points > 20 or assists = 9
df[(df$points > 20 ) | (df$assists == 9 ), ]

  team points assists rebounds
1 to 25 5 11
4 B 14 9 6
6 B 23 9 5
7 C 25 9 9
8 C 29 4 12

返回的唯一行是那些得分值大于 20助攻值等于 9 的行。

示例2:在R中使用“OR”运算符根据字符串值过滤行

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 position=c('G', 'G', 'F', 'F', 'C', 'F', 'C', 'C'),
                 conference=c('W', 'W', 'W', 'W', 'E', 'E', 'E', 'E'),
                 dots=c(11, 8, 10, 6, 6, 5, 9, 12))

#view data frame
df

  team position conference points
1 AGW 11
2 BGW 8
3 CFW 10
4 DFW 6
5 ECE 6
6 FFE 5
7 GCE 9
8 HCE 12

我们可以使用以下语法来过滤数据框中位置列中的值等于 G位置列中的值等于 F团队列中的值等于 H 的行:

 #filter rows based on string values
df[(df$team == ' H ') | (df$position == ' G ') | (df$position == ' F '), ]

  team position conference points
1 AGW 11
2 BGW 8
3 CFW 10
4 DFW 6
6 FFE 5
8 HCE 12

返回的唯一行是那些至少满足三个指定条件之一的行。

其他资源

以下教程解释了如何在 R 中使用其他常见运算符:

如何在 R 中使用美元符号运算符 ($)
如何在 R 中使用波浪号运算符 (~)
如何在 R 中使用“NOT IN”运算符

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注