R子集具有多个密钥的数据帧

bro*_*oli 0 r subset

我有以下数据框架

id val
a  1
a  2
a  3
b  4
b  5
c  6
Run Code Online (Sandbox Code Playgroud)

我想使用id的子集找到该数据帧的子集.我知道如果子集标准仅为1的值,我可以执行以下操作

y = subset(x,id=='a')
Run Code Online (Sandbox Code Playgroud)

但是,如果我有一组几个id,我如何得到一个子集.例如c('a','b').干

y = subset(x,id==c('a','b'))
Run Code Online (Sandbox Code Playgroud)

没有给我我想要的东西.

Jon*_*sen 5

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

y=subset(x,id=='a' | id=='b')
Run Code Online (Sandbox Code Playgroud)

或者你可以使用%in%运营商:

y=subset(x,id %in% c('a','b'))
Run Code Online (Sandbox Code Playgroud)