我有两个数据帧。两者中的行名称都是日期。我想要做的是,我想在两个数据框中选择所有公共行(具有相同的日期),并创建一个只有这些公共行的新数据框。
当然,各列会相互追加。
有人可以帮忙吗?
答案 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)), ])