查找数据帧rownames的交集

时间:2013-03-18 21:52:50

标签: r date dataframe intersect

我有两个数据帧。两者中的行名称都是日期。我想要做的是,我想在两个数据框中选择所有公共行(具有相同的日期),并创建一个只有这些公共行的新数据框。

当然,各列会相互追加。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:5)

尝试:

merge(df1, df2, by="row.names")
?merge

也可以使用= 0而不是'row.names'。而BTW的rownames不是R Date类,而是字符值。我想也可以这样做:

 cbind( df1[ intersect(rownames(df1), rownames(df2)), ] ,
        df2[ intersect(rownames(df1), rownames(df2)), ] )

答案 1 :(得分:0)

根据BondedDust的答案,如果您使用他的建议的第一行,您可以获得您想要的数据,因为您将定义数据与“交叉”函数的交集,使用运算符过滤数据(' ['和']')并使用'cbind'函数按列绑定数据。

cbind( df1[ intersect(rownames(df1), rownames(df2)), ])