R 需要通过多个公共列合并多个数据帧

R 需要通过多个公共列合并多个数据帧,r,merge,dataframe,R,Merge,Dataframe,我有5个不同年份的通用数据框: 2010 POLY STRA Spp breeders2010 nonbreeders2010 1 1 mall 20 5 1 1 cite 6 0 1 3 mall 10 0 2 1 gadw 6 2 2011 POLY STRA Sp

我有5个不同年份的通用数据框:

2010  
POLY STRA  Spp  breeders2010 nonbreeders2010   
1      1   mall     20             5  
1      1   cite     6              0  
1      3   mall     10             0   
2      1   gadw     6              2   

2011  
POLY STRA  Spp  breeders2011 nonbreeders2011   
1      1   mall     24             2  
1      1   cite     8              2  
1      3   mall     14             4   
2      1   gadw     8              4  

2012  
POLY STRA  Spp  breeders2012 nonbreeders2012   
1      1   mall     20             5  
1      1   cite     6              0  
1      3   mall     10             0   
2      1   gadw     6              2  
我需要通过
POLY
STRA
Spp
合并这5个数据帧,以便最终结果如下所示:

POLY STRA  Spp  breeders2010 nonbreeders2010 breeders2011 nonbreeders2011 breeders2012 nonbreeders2012 breeders2013 nonbreeders2013 breeders2014 nonbreeders2014     
1      1   mall     20            5               24            2             20             5 .....  
1      1   cite     6             0               8             2             6              0 ......  
1      3   mall     10            0               14            4             10             0 .....  
2      1   gadw     6             2               8             4             6              2 .....  

我尝试过合并和cbind,但无法使列正确对齐

我认为
merge
应该可以。 对于多个数据帧,您可以使用
Reduce

Reduce(merge, list(df1, df2, df3, df4, df5))
如果任何数据帧中有任何缺失的行
all=TRUE
可能会有帮助:

Reduce(function(x, y) merge(x, y, all = TRUE), list(df1, df2, df3, df4, df5))

你能帮我回答这个问题吗[