Sunday, 15 January 2012

r - Combining multiple data frames with different number of columns -



r - Combining multiple data frames with different number of columns -

this question has reply here:

combine 2 info frames rows (rbind) when have different sets of columns 10 answers

i'm preparing stats currency values, have currency values every day, every year in individual excel-file. i've managed read xls files, want merge info frames every year. like:

date eur sek nor pln rom skr 1-1-1998 2,21 1,23 1,13 2,99 9,12 6,17 2-1-1998 1,13 12,2 2,11 9,22 1,11 2,33

but of them has more colums (additional currency), like:

date eur sek nor pln rom skr jkc 1-1-1998 2,21 1,23 1,13 2,99 9,12 6,17 1,11 2-1-1998 1,13 12,2 2,11 9,22 1,11 2,33 2,13

i want merge them way:

date eur sek nor pln rom skr 1-1-1998 2,21 1,23 1,13 2,99 9,12 6,17 2-1-1998 1,13 12,2 2,11 9,22 1,11 2,33 date eur sek nor pln rom skr jkc 1-1-1998 2,21 1,23 1,13 2,99 9,12 6,17 1,11 2-1-1998 1,13 12,2 2,11 9,22 1,11 2,33 2,13

etc.

i tried utilize merge(), treated identical values one, rbind doesn't work because there different numbers of columns. how should combine info frames?

like henrik mentioned, rbind.fill plyr packge helpfull here:

library(plyr) <- data.frame( info = c('1-1-1998', '2-1-1998'), eur = c(2.21, 1.13), sek = c(1.23, 12.2) ) b <- data.frame( info = c('1-1-1998', '2-1-1998'), eur = c(2.21, 1.13), sek = c(1.23, 12.2), jkc = c(1.11, 2.13) ) rbind.fill(a, b)

resulting in:

info eur sek jkc 1 1-1-1998 2.21 1.23 na 2 2-1-1998 1.13 12.20 na 3 1-1-1998 2.21 1.23 1.11 4 2-1-1998 1.13 12.20 2.13

r data.frame

No comments:

Post a Comment