私はこの大きなデータフレームリストを持っていますが、その中には一致する列があり、他の列は一致しません。私は一致する列を持つものをrbindし、(変数Year、Countryに基づいて)一致する列を持たない他のものをマージします。しかし、どのデータフレームにも一致する列があるかどうかを調べるために、すべてのデータフレームを手作業で調べることは望ましくありません。RバインドとマージR
今、私はそれがこの線に沿って何かに見えるだろうと考えていた。まさにRでこれを行う方法を知らないから別に
myfiles = list.files(pattern="*.dta")
dflist <- lapply(myfiles, read.dta13)
for (i in 1:length(dflist)){
if colnames match
put them in list and rbindlist.
else put them in another list and merge.
}
を、私は、これは後に動作しないだろうと思うし始めていますすべて。
6はデータフレーム考慮する例示するために:私は(データフレーム1、dataframe2)及びrbind(データフレーム3、データフレーム4)rbindしたいこの場合
Dataframe 1: Dataframe 2:
Country Sector Emp Country Sector Emp
Belg A 35 NL B 31
Aus B 12 CH D 45
Eng E 18 RU D 12
Dataframe 3: Dataframe 4:
Country Flow PE Country Flow PE
NL 6 13 ... ... ...
HU 4 11 ... ...
LU 3 21 ...
Dataframe 5: dataframe 6:
Country Year Exp Country Year Imp
GER 02 44 BE 00 34
GER 03 34 BE 01 23
GER 04 21 BE 02 41
を、私はデータフレーム5をマージしたいと6、変数の国と年に基づいています。だから私の出力は、いくつかのrbinded/mergedデータフレームになります..
私は(すべて= TRUEで)マージと思いますが、(ただしもっとゆっくり)rbindます。それを行う方法については、http://stackoverflow.com/questions/8091303/simultaneously-merge-multiple-data-frames-in-a-list – Aaron