我有几个表,每个表大约有8行,每列超过100万列。大多数列的名称与这些不同的表相同,但有些表可能包含一些列而另一列则不包含。
现在我想将所有这些表附加在一起以形成一个包含这些表的所有列和行的表。如果对于某一行,它的原始文件中不包含该列,则该值将为NA。我知道这些表中没有重复的行。
我知道我可以在库gtools中使用smartbind来实现它。但是桌子太大了。当我运行smartbind时,似乎R一直在运行,我没有得到任何错误消息,例如内存不足。
我不确定我是否清楚地描述了这个问题。假设我有两张表如下:
table 1:(4 rows, 1016354 columns)
ID col1 col2... col1016343 col1016344... col1016354
1 aa ab zz sz ... ss
2 aa ab ss zs ... zz
3 ab ab ss dd ... ss
4 ab aa zz ee ... ss
table 2:(3 rows, 1016343 columns)
ID col1 col2... col1016343
5 ab cd dd
6 cd ab ee
7 cd cd ff
现在我想将它们附加在一起并获得新表格:
ID col1 col2... col1016343 col1016344...col1016354
1 aa ab zz sz ... ss
2 aa ab ss zs ... zz
3 ab ab ss dd ... ss
4 ab aa zz ee ... ss
5 ab cd dd NA ... NA
6 cd ab ee NA ... NA
7 cd cd ff NA ... NA
每张表中的ID都是唯一的。但ID或其他列可能在不同的表中包含相同的值,但整个行在不同的表中将不完全相同。对于不同的列,它可能位于表的中间,并不总是位于每个表的最后几列。相同列的列名相同。
有谁知道这样做的有效方法? 谢谢。