emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Charles C. Berry" <ccberry@ucsd.edu>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: emacs-orgmode@gnu.org,
	Titus von der Malsburg <malsburg@posteo.de>,
	"Thomas S. Dye" <tsd@tsdye.com>
Subject: Re: Bug: Org export to latex produces incorrect table [8.3beta (release_8.3beta-1157-g8ddb84 @ /home/malsburg/usr/share/emacs/site-lisp/org/)]
Date: Fri, 29 May 2015 11:09:42 -0700	[thread overview]
Message-ID: <alpine.OSX.2.11.1505291033390.449@charles-berrys-macbook.local> (raw)
In-Reply-To: <87r3pz2084.fsf@nicolasgoaziou.fr>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2511 bytes --]

On Fri, 29 May 2015, Nicolas Goaziou wrote:

> Titus von der Malsburg <malsburg@posteo.de> writes:
>
>> On 2015-05-24 Sun 10:09, Thomas S. Dye wrote:
>>> Titus von der Malsburg <malsburg@posteo.de> writes:
>>>
>>>> On 2015-05-24 Sun 08:36, Thomas S. Dye wrote:
>>>>> Titus von der Malsburg <malsburg@posteo.de> writes:
>>>>>
>>>>>>> You got the result of rownames(x), which is expected.  The table you
>>>>>>> expect is given by the following code:
>>>>>>
>>>>>> Ah, I see, thanks.  Although the results is still somewhat
>>>>>> unexpected.  c("One:", "Two:") doesn’t have rownames and colnames.  So
>>>>>> org apparently made them up when generating the table.
>>>>>
>>>>> Also expected due to :rownames yes :colnames yes.  Without those two
>>>>> header arguments:
>>>>>
>>>>
>>>> Consider this example:
>>>>
>>>> #+BEGIN_SRC R :results table :exports results :colnames yes :rownames yes
>>>>   v <- c("a", "b")
>>>> #+END_SRC
>>>>
>>>> #+RESULTS:
>>>> |   | x |
>>>> |---+---|
>>>> | 1 | a |
>>>> | 2 | b |
>>>>
>>>> Where is the “x” coming from?  In R, colnames(v) gives me NULL.
>>>
>>> rownames(v) is also NULL.
>>>
>>> You are asking Org mode to produce a table with row and column names
>>> from a vector, which lacks rows and columns.  What behavior do you
>>> expect?
>>
>> Almost anything is better than Org showing me values that do not exist
>> in the original data.  Empty cells for row and columns names are
>> probably the best solution because that would be faithful to the data
>> and to the settings (:rownames yes :colnames yes).
>
> AFAICT, the "x" comes from R, not Org. It could also come from the way
> Org calls R, but I don't know enough of the latter to tell.
>

In particular, `org-babel-R-write-object-command' contains an R
function that processes the object for `:results value'. The guts of
it is a call to write.table(). Here is an example:


#+NAME: show write.table
#+BEGIN_SRC R :results output
   write.table(c("a","b"))
#+END_SRC

#+RESULTS: show write.table
: "x"
: "1" "a"
: "2" "b"

The difficulty is that write.table() coerces its first argument to a 
`data.frame', whence the odd seeming row/column labels.

Making the R code in `org-babel-R-write-object-command' smart enough
to do what the OP wants without breaking stuff might be possible if 
anyone wants to do the work.

However, IMO `:results output' is the way to go for such cases. There are 
plenty of tools in R for formatting output and the user will have better 
control over what is produced.

Chuck

  parent reply	other threads:[~2015-05-29 18:09 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-24  4:26 Bug: Org export to latex produces incorrect table [8.3beta (release_8.3beta-1157-g8ddb84 @ /home/malsburg/usr/share/emacs/site-lisp/org/)] Titus von der Malsburg
2015-05-24  7:01 ` Thomas S. Dye
2015-05-24  7:31   ` Titus von der Malsburg
2015-05-24 15:36     ` Thomas S. Dye
2015-05-24 16:13       ` Titus von der Malsburg
2015-05-24 17:09         ` Thomas S. Dye
2015-05-24 18:05           ` Titus von der Malsburg
2015-05-29  9:37             ` Nicolas Goaziou
2015-05-29 18:00               ` Sebastien Vauban
2015-05-29 18:09               ` Charles C. Berry [this message]
2015-05-29 18:54                 ` Titus von der Malsburg
2015-05-29 19:14                   ` Thomas S. Dye

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=alpine.OSX.2.11.1505291033390.449@charles-berrys-macbook.local \
    --to=ccberry@ucsd.edu \
    --cc=emacs-orgmode@gnu.org \
    --cc=mail@nicolasgoaziou.fr \
    --cc=malsburg@posteo.de \
    --cc=tsd@tsdye.com \
    /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).