emacs-orgmode
[Top][All Lists]

## Re: [O] Combine tables which are results from calculations?

 From: Rick Frankel Subject: Re: [O] Combine tables which are results from calculations? Date: Wed, 4 Nov 2015 12:50:46 -0500 User-agent: Mutt/1.5.24 (2015-08-30)

```On Wed, Nov 04, 2015 at 10:03:48AM +0100, Rainer M Krug wrote:
>
> > On Tue, Nov 03, 2015 at 02:18:05PM +0100, Rainer M Krug wrote:
> >> Hi
> >>
> >> Considering the following example:
> >
> > here's a way to do it in ruby. There is probably a way in {emacs,cl}-lisp,
> > but
> > I'm not sure how...
> >
> > #+BEGIN_SRC ruby :var a=t1[,0] b=t2[,0] c=t3[,0] :colnames '(a b c)
> >   r = [a, b, c]
> >   len = r.collect(&:length).max
> >   r.each { |l| l.fill('', l.length, len - l.length) }
> >   a.zip(b, c)
> > #+END_SRC
>
> Thanks - I'll look into this and see if I can do something similar in R
> or elisp.

Here's a elisp version:

* zip lists
#+name: a
| a |
|---|
| 1 |
| 2 |

#+name: b
| b |
|---|
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |

#+name: c
|  c |
|----|
|  9 |
| 10 |
| 11 |

#+BEGIN_SRC emacs-lisp :var a=a[,0] b=b[,0] c=c[,0] :colnames '(a b c)
(let*  ((l (list a b c))
(max (apply #'max (mapcar #'length l))))
(apply
#'mapcar* #'list
(mapcar (lambda (x) (append x (make-list (- max (length x)) ""))) l)))
#+END_SRC

rick

Note: previous reply was not to list (whoops) CC'ing the list on this so the
answer is saved for posterity :).

```