Re: [Orgmode] Re: Merge tables
At Mon, 28 Sep 2009 16:31:22 -0400, Dan Davison wrote: Bernt Hansen be...@norang.ca writes: Hector Villafuerte hecto...@gmail.com writes: Hi, I've just discovered Org and are truly impressed with it; using it for more and more tasks. Here's what I want to do: I have 2 tables with the same number of rows (one row per subject). I would like to make just one big table by copying the second table to the right of the first one. This is a no-brainer in a spreadsheet but my attempts in Org have failed. Any ideas? Hi Hector, Here are two ways of doing this in org-babel. * Binding tables together by columns Suppose the tables are #+tblname: tab1 | 1 | 2 | 3 | | 7 | 8 | 9 | #+tblname: tab2 | 4 | 5 | 6 | | 10 | 11 | 12 | Here's a solution in emacs lisp: #+srcname: column-bind-elisp(a=tab1, b=tab2) #+begin_src emacs-lisp (mapcar* 'append a b) #+end_src #+resname: column-bind-elisp | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | And here's a solution in R, which has the advantage that it copes with column names (and the code is even simpler). #+tblname: tab3 | a | b | c | |---+---+---| | 1 | 2 | 3 | | 7 | 8 | 9 | #+tblname: tab4 | d | e | f | |++| | 4 | 5 | 6 | | 10 | 11 | 12 | #+srcname: column-bind-R(a=tab3, b=tab4) #+begin_src R :colnames t cbind(a, b) #+end_src #+resname: column-bind-R | a | b | c | d | e | f | |-+-+-+-+-+-| | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | Once someone has written them, even simple code blocks like these can be stored in the library of babel for users who aren't familiar with a suitable programming language (I'll add them on worg). Dan Rectangular cut and paste maybe? -Bernt ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode If you only want to put the second table at the right of the first one I think that the functions kill-rectangle and yank-rectangle are enough. Select the second table (without the first | char) and run the command kill-rectangle (C-x r k), then put the cursor at the end of the first line of the first table and run the command yank-rectangle (C-x r y). -- Darlan Cavalcante Moreira darc...@gmail.com ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Merge tables
Bernt Hansen be...@norang.ca writes: Hector Villafuerte hecto...@gmail.com writes: Hi, I've just discovered Org and are truly impressed with it; using it for more and more tasks. Here's what I want to do: I have 2 tables with the same number of rows (one row per subject). I would like to make just one big table by copying the second table to the right of the first one. This is a no-brainer in a spreadsheet but my attempts in Org have failed. Any ideas? Hi Hector, Here are two ways of doing this in org-babel. * Binding tables together by columns Suppose the tables are #+tblname: tab1 | 1 | 2 | 3 | | 7 | 8 | 9 | #+tblname: tab2 | 4 | 5 | 6 | | 10 | 11 | 12 | Here's a solution in emacs lisp: #+srcname: column-bind-elisp(a=tab1, b=tab2) #+begin_src emacs-lisp (mapcar* 'append a b) #+end_src #+resname: column-bind-elisp | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | And here's a solution in R, which has the advantage that it copes with column names (and the code is even simpler). #+tblname: tab3 | a | b | c | |---+---+---| | 1 | 2 | 3 | | 7 | 8 | 9 | #+tblname: tab4 | d | e | f | |++| | 4 | 5 | 6 | | 10 | 11 | 12 | #+srcname: column-bind-R(a=tab3, b=tab4) #+begin_src R :colnames t cbind(a, b) #+end_src #+resname: column-bind-R | a | b | c | d | e | f | |-+-+-+-+-+-| | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | Once someone has written them, even simple code blocks like these can be stored in the library of babel for users who aren't familiar with a suitable programming language (I'll add them on worg). Dan Rectangular cut and paste maybe? -Bernt ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: Merge tables
Hector Villafuerte hecto...@gmail.com writes: Hi, I've just discovered Org and are truly impressed with it; using it for more and more tasks. Here's what I want to do: I have 2 tables with the same number of rows (one row per subject). I would like to make just one big table by copying the second table to the right of the first one. This is a no-brainer in a spreadsheet but my attempts in Org have failed. Any ideas? Rectangular cut and paste maybe? -Bernt ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode