R语言中符合条件筛选行

R语言中,longlist和 shortlist有交集,怎样让longlist与shortlist交集部分在longlist中的那行为true,两个的顺序可能是不一样的。或者说想要筛选longlist中符合条件的行,条件就是longlist$id和shortlist$id重合的那部分。

如果两个数据集的变量完全一样的话可以直接这样 :

newdata<-merge(longlist,shortlist,all=FALSE)
得到的就是两个的交集
如果变量不同的话,可以接着刚才操作,设定变量x用来标注longlist中的id是否也在shorlist中出现过:
id<-newdata$id
x<-c("true")
a<-cbind(id,x)
a<-data.frame(a)

longlist<-merge(longlist,a,all=TRUE)
然后longlist中就会多出x变量,与shortlist相同的id后面x为true
温馨提示:答案为网友推荐,仅供参考
相似回答