emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Dan Davison <davison@stats.ox.ac.uk>
To: Bernt Hansen <bernt@norang.ca>
Cc: emacs-orgmode@gnu.org
Subject: Re: Re: Merge tables
Date: Mon, 28 Sep 2009 16:31:22 -0400	[thread overview]
Message-ID: <87ljjy95gl.fsf@stats.ox.ac.uk> (raw)
In-Reply-To: <871vn7u6cy.fsf@gollum.intra.norang.ca> (Bernt Hansen's message of "Wed, 19 Aug 2009 12:16:13 -0400")

Bernt Hansen <bernt@norang.ca> writes:

> Hector Villafuerte <hectorvd@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

  reply	other threads:[~2009-09-28 20:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-19 16:08 Merge tables Hector Villafuerte
2009-08-19 16:16 ` Bernt Hansen
2009-09-28 20:31   ` Dan Davison [this message]
2009-09-29 15:15     ` Darlan Cavalcante Moreira

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ljjy95gl.fsf@stats.ox.ac.uk \
    --to=davison@stats.ox.ac.uk \
    --cc=bernt@norang.ca \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).