0

data.frames私は1つの大きなものを形成するために参加したい1つの行の異なるものを持っていdata.frameます。重要なのは、1つの列に値がない場合でも、colnamesからに移動しjan 2002dic 2011、これらの列に自分の列を入力することです。data framesdata.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。たとえば、ene 2003 feb 2003 ..... nov 2005 dic 2005 ...... 2006年または2007年のすべての月(例ですが、出力に表示したいです)

4

1 に答える 1

1

を使用plyrするrbind.fill

rbind.fill(list(df1,df2,df3,df4))

注:重複する列名(例:2002年2月)はに変更されfeb 2002.1ます。

編集:これは私が得るものです:

#   ene2002 ene2002.1 feb2002 feb2002.1 mar2002 mar2002.1 ago2004 ago2004.1 sep2004
# 1      69        MA      38        MA      38        MA      NA      <NA>      NA
# 2      NA      <NA>      NA      <NA>      NA      <NA>     114        MB     102
# 3      NA      <NA>      NA      <NA>      NA      <NA>      NA      <NA>      NA
# 4      NA      <NA>      NA      <NA>      NA      <NA>      NA      <NA>      NA
#   sep2004.1 oct2004 oct2004.1 oct2011 oct2011.1 nov2011 nov2011.1 dic2011 dic2011.1
# 1      <NA>      NA      <NA>      NA      <NA>      NA      <NA>      NA      <NA>
# 2        MB      49         M      NA      <NA>      NA      <NA>      NA      <NA>
# 3      <NA>      NA      <NA>      10         A       9         A      20        MA
# 4      <NA>      NA      <NA>      NA      <NA>      NA      <NA>      NA      <NA>
#   jan2008 jan2008.1 jul2009 jul2009.1 dic2010 dic2010.1
# 1      NA      <NA>      NA      <NA>      NA      <NA>
# 2      NA      <NA>      NA      <NA>      NA      <NA>
# 3      NA      <NA>      NA      <NA>      NA      <NA>
# 4      20        MA     200         B     100        MB
于 2013-03-14T23:42:20.927 に答える