【发布时间】:2015-06-03 01:22:07
【问题描述】:
我有两个数据框:
> df1:
a b
1 1 2
2 2 3
3 2 4
4 3 4
5 4 4
> df2:
a b
1 1 1
2 1 2
3 2 3
4 3 4
5 5 5
然后合并df1和df2得到df3,请注意合并by=c("a","b")
df3<-merge(df1,df2)
> df3
a b
1 1 2
2 2 3
3 3 4
我想获取 df1 中被选中的行的索引,并在 df1 中添加一个名为“label”的列。
> df1:
a b label
1 1 2 TRUE
2 2 3 TRUE
3 2 4 FALSE
4 3 4 TRUE
5 4 4 FALSE
我试过这个:
df1$label<-apply(df1,1,function (x) ifelse(nrow(merge(x,df3))>0,TRUE,FALSE))
得到了错误的结果,而且速度很慢,因为我的 df1 非常大。 有什么简单的方法吗?像向量中的 is.element 吗?谢谢。
【问题讨论】: