Skip to content
Prev 130990 / 398506 Next

How to cbind DF:s with differing number of rows?

This should do it for you by padding out the rows so they are the same length:
List of 5
 $ x    :'data.frame':  3 obs. of  2 variables:
  ..$ x   : Factor w/ 3 levels "1","2","3": 1 2 3
  ..$ Freq: int [1:3] 9 9 8
 $ y    :'data.frame':  30 obs. of  2 variables:
  ..$ x   : Factor w/ 30 levels "4.21178116845085",..: 1 2 3 4 5 6 7 8 9 10 ...
  ..$ Freq: int [1:30] 1 1 1 1 1 1 1 1 1 1 ...
 $ f    :'data.frame':  2 obs. of  2 variables:
  ..$ x   : Factor w/ 2 levels "lev1","lev2": 1 2
  ..$ Freq: int [1:2] 15 15
 $ g    :'data.frame':  20 obs. of  2 variables:
  ..$ x   : Factor w/ 20 levels "2000-01-02","2000-01-03",..: 1 2 3 4
5 6 7 8 9 10 ...
  ..$ Freq: int [1:20] 1 1 1 1 1 1 1 1 1 1 ...
 $ wdays:'data.frame':  7 obs. of  2 variables:
  ..$ x   : Factor w/ 7 levels "Friday","Monday",..: 1 2 3 4 5 6 7
  ..$ Freq: int [1:7] 2 3 3 4 3 2 3
+     if (nrow(.x) < max.rows) .x <- rbind(.x, matrix(NA, ncol=2,
nrow=max.rows - nrow(.x),
+         dimnames=list(NULL, c('x', 'Freq'))))
+     .x
+ })
x.x x.Freq              y.x y.Freq  f.x f.Freq        g.x g.Freq
wdays.x wdays.Freq
1     1      9 4.21178116845085      1 lev1     15 2000-01-02      1
 Friday          2
2     2      9 4.78984323641143      1 lev2     15 2000-01-03      1
 Monday          3
3     3      8  5.4787594194582      1 <NA>     NA 2000-01-05      1
Saturday          3
4  <NA>     NA  5.5853001128225      1 <NA>     NA 2000-01-06      1
 Sunday          4
5  <NA>     NA 5.96437138758995      1 <NA>     NA 2000-01-08      1
Thursday          3
6  <NA>     NA 5.97953161588198      1 <NA>     NA 2000-01-09      1
Tuesday          2
7  <NA>     NA 6.17354618925767      1 <NA>     NA 2000-01-11      1
Wednesday          3
8  <NA>     NA 6.49461161284364      1 <NA>     NA 2000-01-12      1
   <NA>         NA
9  <NA>     NA 6.98364332422208      1 <NA>     NA 2000-01-14      1
   <NA>         NA
10 <NA>     NA 7.12950777181536      1 <NA>     NA 2000-01-15      1
   <NA>         NA
11 <NA>     NA 7.28742905242849      1 <NA>     NA 2000-01-17      1
   <NA>         NA
12 <NA>     NA  7.3757813516535      1 <NA>     NA 2000-01-18      1
   <NA>         NA
13 <NA>     NA 7.53832470512922      1 <NA>     NA 2000-01-20      1
   <NA>         NA
14 <NA>     NA 8.39528080213779      1 <NA>     NA 2000-01-21      1
   <NA>         NA
15 <NA>     NA 10.6249309181431      1 <NA>     NA 2000-01-23      1
   <NA>         NA
16 <NA>     NA 11.1550663909848      1 <NA>     NA 2000-01-24      1
   <NA>         NA
17 <NA>     NA 11.3189773716082      1 <NA>     NA 2000-01-26      1
   <NA>         NA
18 <NA>     NA 12.8838097369011      1 <NA>     NA 2000-01-27      1
   <NA>         NA
19 <NA>     NA 15.5438362106853      1 <NA>     NA 2000-01-29      1
   <NA>         NA
20 <NA>     NA 17.1212211950981      1 <NA>     NA 2000-01-30      1
   <NA>         NA
21 <NA>     NA 17.8821363007311      1 <NA>     NA       <NA>     NA
   <NA>         NA
22 <NA>     NA 18.5939013212175      1 <NA>     NA       <NA>     NA
   <NA>         NA
On Dec 1, 2007 8:05 AM, Lauri Nikkinen <lauri.nikkinen at iki.fi> wrote: