0

我有以下数据框

id val
a  1
a  2
a  3
b  4
b  5
c  6

我想使用 id 的子集找到这个数据框的子集。我知道如果子集标准只是 1 个值,我可以执行以下操作,例如

y = subset(x,id=='a')

但是,如果我有一组多个 id,我如何获得一个子集。例如 c('a','b')。正在做

y = subset(x,id==c('a','b'))

没有给我我想要的。

4

2 回答 2

5

您可以使用逻辑运算符进行子集化,例如

y=subset(x,id=='a' | id=='b')

或者您可以使用%in%运算符:

y=subset(x,id %in% c('a','b'))
于 2013-01-22T19:02:39.013 回答
3

试试 %in% 运算符。

> id<-c("a","a","a","b","b","c")
> val<-c(1,2,3,4,5,6)
> x<-data.frame(cbind(id,val))
> subset(x,id %in%c('a','b'))
  id val
1  a   1
2  a   2
3  a   3
4  b   4
5  b   5
于 2013-01-22T19:07:02.080 回答