我有以下数据框
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'))
没有给我我想要的。
您可以使用逻辑运算符进行子集化,例如
y=subset(x,id=='a' | id=='b')
或者您可以使用%in%
运算符:
y=subset(x,id %in% c('a','b'))
试试 %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