按行加入数据帧

时间:2013-03-14 23:32:37

标签: r join row dataframe bind

我有1行data.frames,我想加入一个大data.frame。问题是,我希望我的colnamesjan 2002转到dic 2011,并使用data frames填充这些列,即使一列没有值也是如此。 data.frames的例子(可以有“离散”日期):

DF1:

ene 2002 ene 2002 feb 2002 feb 2002 mar 2002 mar 2002 
    69       MA       38       MA     38       MA 

DF2:

ago 2004 ago 2004 sep 2004 sep 2004 oct 2004 oct 2004 
   114       MB      102       MB       49       M

DF3:

oct 2011 oct 2011 nov 2011 nov 2011 dic 2011 dic 2011
10       A        9     A           20       MA

df4(“Discrete data.frame”):

jan 2008 jan 2008  jul 2009 jul 2009 dic 2010  dic 2010
20          MA       200       B       100       MB

Data.frame想要的(欲望输出):

ene 2002 ene 2002 feb 2002 feb 2002 mar 2002 mar 2002...ago 2004 ago 2004 sep 2004 sep 2004 oct 2004 oct 2004...jan 2008 jan 2008...jul 2009 jul 2009...dic 2010  dic 2010... oct 2011 oct 2011 nov 2011 nov 2011 dic 2011 dic 2011
    69       MA       38       MA     38       MA          NA       NA       NA       NA       NA       NA        NA       NA         NA       NA         NA        NA          NA       NA       NA       NA       NA       NA                             
    NA       NA       NA       NA     NA       NA          114      MB       102      MB       49       M         NA       NA         NA       NA         NA        NA          NA       NA       NA       NA       NA       NA
    NA       NA       NA       NA     NA       NA          NA       NA       NA       NA       NA       NA        NA       NA         NA       NA         NA        NA          10       A        9        A        20       MA
    NA       NA       NA       NA     NA       NA          NA       NA       NA       NA       NA       NA        20       MA         200      B          100       MB          NA       NA       NA       NA       NA       NA

在这个例子中,所有其他没有值的列都是NA:例如,2003年2003年,2003年,2005年,2005年,2005年......,2006年或2007年的所有月份(Just)说随机月份不在示例中,但我希望它们出现在我的输出中)

1 个答案:

答案 0 :(得分:1)

使用plyr的{​​{1}}

rbind.fill

注意:重复的列名称(例如:feb 2002)将更改为rbind.fill(list(df1,df2,df3,df4))

编辑:这就是我得到的:

feb 2002.1