Re: [Orgmode] Re: Merge tables

2009-09-29 Thread Darlan Cavalcante Moreira
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

2009-09-28 Thread Dan Davison
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

2009-08-19 Thread Bernt Hansen
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