I had to read your question quite a few times before I understood what you were looking for, but maybe you want rbind.fill
from plyr
:
d1 <- data.frame(x1,x2,x3,x4,x5)
d2 <- data.frame(x1,x3,x4,x5)
d3 <- data.frame(x2,x3,x4,x5)
d4 <- data.frame(x1,x2,x3,x4,x5)
> rbind.fill(d1,d4,d2,d3)
x1 x2 x3 x4 x5
1 A a 1.1216923 0.9236393 0.2749292
2 B b 1.1913278 1.1145664 -0.5070576
3 C c 0.2837657 -0.6631544 -1.0675885
4 A a 1.1216923 0.9236393 0.2749292
5 B b 1.1913278 1.1145664 -0.5070576
6 C c 0.2837657 -0.6631544 -1.0675885
7 A 1.1216923 0.9236393 0.2749292
8 B 1.1913278 1.1145664 -0.5070576
9 C 0.2837657 -0.6631544 -1.0675885
10 a 1.1216923 0.9236393 0.2749292
11 b 1.1913278 1.1145664 -0.5070576
12 c 0.2837657 -0.6631544 -1.0675885