Re: [O] Combine tables which are results from calculations?
Rick Frankelwrites: > On Wed, Nov 04, 2015 at 10:03:48AM +0100, Rainer M Krug wrote: >> Rick Frankel writes: >> >> > 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 Thanks a lot - I think this should possibly go ito worg? I'll keep it for reference as I implemented the whole layouting in R. Thanks, Rainer > > > rick > > Note: previous reply was not to list (whoops) CC'ing the list on this so the > answer is saved for posterity :). -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax : +33 - (0)9 58 10 27 44 Fax (D):+49 - (0)3 21 21 25 22 44 email: rai...@krugs.de Skype: RMkrug PGP: 0x0F52F982 signature.asc Description: PGP signature
Re: [O] Combine tables which are results from calculations?
On Wed, Nov 04, 2015 at 10:03:48AM +0100, Rainer M Krug wrote: > Rick Frankelwrites: > > > 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 :).
[O] Combine tables which are results from calculations?
Hi Considering the following example: --8<---cut here---start->8--- #+NAME t1 #+begin_src R :colnames yes data.frame(a = 1:3) #+end_src #+RESULTS: | a | |---| | 1 | | 2 | | 3 | #+NAME t2 #+begin_src R :colnames yes data.frame(b = 1:10) #+end_src #+RESULTS: | b | || | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | #+NAME t3 #+begin_src R :colnames yes data.frame(c = 1:7) #+end_src #+RESULTS: | c | |---| | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | What I would like to have is: | a | b | c | |||| | 1 | 1 | 1 | | 2 | 2 | 2 | | 3 | 3 | 3 | || 4 | 4 | || 5 | 5 | || 6 | 6 | || 7 | 7 | || 8 || || 9 || || 10 || --8<---cut here---end--->8--- How can I combine t1, t2 and t3 column wise? Thanks, Rainer -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax : +33 - (0)9 58 10 27 44 Fax (D):+49 - (0)3 21 21 25 22 44 email: rai...@krugs.de Skype: RMkrug PGP: 0x0F52F982 signature.asc Description: PGP signature