你可以使用以下方法之一在R中按条件选择行。
方法1:基于一个条件选择行
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
points assists team
1 1 6 A
2 2 6 A
3 4 7 A
4 3 8 B
5 4 8 C
6 8 9 C
方法1:基于一个条件选择行
下面的代码显示了如何在R中基于一个条件选择行:
#select rows where team is equal to 'A'
df[df$team == 'A', ]
points assists team
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', ]
points assists team
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, ]
points assists team
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中执行其他常见操作: