如何在 r 中按条件选择行(带有示例)


您可以使用以下任意方法在 R 中按条件选择行:

方法一:根据条件选择行

 df[df$var1 == ' value ', ]

方法2:根据多个条件选择行

 df[df$var1 == ' value1 ' & df$var2 > value2 , ]

方法3:根据列表中的值选择行

 df[df$var1 %in% c(' value1 ', ' value2 ', ' value3 '), ]

以下示例展示了如何在 R 中将每种方法与以下数据帧一起使用:

 #create data frame
df <- data. frame (points=c(1, 2, 4, 3, 4, 8),
                 assists=c(6, 6, 7, 8, 8, 9),
                 team=c('A', 'A', 'A', 'B', 'C', 'C'))

#view data frame
df

  team assists points
1 1 6 A
2 2 6 A
3 4 7 A
4 3 8 B
5 4 8 C
6 8 9 C

方法一:根据条件选择行

以下代码显示了如何根据 R 中的条件选择行:

 #select rows where team is equal to 'A'
df[df$team == ' A ', ]

  team assists points
1 1 6 A
2 2 6 A
3 4 7 A

请注意,仅选择团队等于“A”的行。

我们还可以使用!=来选择不等于某个值的行:

 #select rows where team is not equal to 'A'
df[df$team != ' A ', ]

  team assists points
4 3 8 B
5 4 8 C
6 8 9 C

方法2:根据多个条件选择行

以下代码展示了如何在 R 中根据多个条件选择行:

 #select rows where team is equal to 'A' and points is greater than 1
df[df$team == ' A ' & df$points > 1 , ]

  team assists points
2 2 6 A
3 4 7 A

请注意,仅选择队伍等于“A”分数大于 1 的行。

方法3:根据列表中的值选择行

以下代码显示如何选择某一列的值属于值列表的行:

 #select rows where team is equal to 'A' or 'C'
df[df$team %in% c(' A ', ' C '), ]

请注意,仅选择团队等于“A”或“C”的行。

其他资源

以下教程解释了如何在 R 中执行其他常见操作:

如何选择R中任意列中出现值的行
如何在 R 中选择特定列
如何在R中按索引选择列

添加评论

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