emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Rainer M Krug <Rainer@krugs.de>
To: Andreas Leha <andreas.leha@med.uni-goettingen.de>
Cc: emacs-orgmode@gnu.org
Subject: Re: [BUG] [babel] [R] :colnames yes conflicts with :results file
Date: Wed, 07 Jan 2015 10:11:58 +0100	[thread overview]
Message-ID: <m28uhf3qg1.fsf@krugs.de> (raw)
In-Reply-To: <olu7fwzgbpe.fsf@med.uni-goettingen.de> (Andreas Leha's message of "Tue, 06 Jan 2015 15:39:41 +0000")

[-- Attachment #1: Type: text/plain, Size: 3997 bytes --]

Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:

> Hi Rainer,
>
> Thanks for following up on this.
>
> Rainer M Krug <Rainer@krugs.de> writes:
>> Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
>>
>>> Hi all,
>>
>> Hi
>>
>>>
>>> There seems to be a bug in babel (at least for R) when it comes to
>>> source blocks producing file links but taking tables with headers.  In
>>> that case, ':colnames yes' disables the ':results file' directive.
>>
>> I don't think this is a bug as it is not clear what should happen.
>
> I disagree.  I consider it a bug because it is a functional limitation.
> If I see it correctly, there is no way to generate a file link when
> passing a table with header.
>
> I'd expect the :colnames yes to take effect only if there is actually a
> table.  If that was the behaviour, then there would be no functional
> limitation of that kind.

OK - I see your point. I was only thinking of the R -> org side,
but :colnames yes also refers to the input side. So if I understand you
correctly, you want
  org -> R tables with header as variables
  R -> org link to file

Is this correct? In this case, I agree completely - this is a bug.

>
>
>> In the org manual it states concerning the :results file
>>
>> ,----
>> |    * `file' The results will be interpreted as the path to a file, and
>> |      will be inserted into the Org mode buffer as a file link.  E.g.,
>> |      `:results value file'. 
>> `----
>>
>> But the :colnames only works on tables (i.e. :results table) - but the
>> result is represented as a link to a file. So what should happen?
>
> Well, I think -- as you say -- :colnames works only on tables.  Since
> there is no table (more than that, actually: I specifically do *not
> want* a table), the :colnames should not apply.

Agree completely.

>
> I ask org to produce a file link but get a table.  For me that clearly
> is unexpected.
>

+1

>>
>> If you would like to have a table with links to files, the easiest is to
>> put the file names into [[]] in R and then return them in a table - or
>> use :results output and "draw" the table.
>
> Exactly.
>
>>
>> But as it stands, these two header arguments do not go together.
>>
>> It would be nice to have a warning (or even error) in org, or at least a
>> table of header argument precedence.
>
> I'd say a warning does not fix this.  As I might need ':colnames yes'
> for an input table and ':results file' for the output.

So if the results type is defined, :results determines the type of the returned
value, and only if it is a table, the :colnames header argument should
be used.

>
>
> At least that is my view.

Your view is correct.

Cheers,

Rainer

>
> Thanks,
> Andreas
>
>
>>
>> By the way - never used the :results file - but now I will! Thanks.
>>
>> Hope this helps,
>>
>> Rainer
>>
>>
>>>
>>> Here is the Cm:
>>> * test
>>>
>>> #+BEGIN_SRC R :results file replace
>>>   "some_file.csv"
>>> #+END_SRC
>>>
>>> #+RESULTS:
>>> [[file:some_file.csv]]
>>>
>>> #+BEGIN_SRC R :colnames yes :results file replace
>>>   "some_file.csv"
>>> #+END_SRC
>>>
>>> #+RESULTS:
>>> | x             |
>>> |---------------|
>>> | some_file.csv |
>>>
>>>
>>>
>>> * My Setup
>>> #+begin_src emacs-lisp
>>>   (concat
>>>    (replace-regexp-in-string " on .*" "" (emacs-version))
>>>    "\n"
>>>    (replace-regexp-in-string " @.*" ")" (org-version nil t))
>>>    "\n"
>>>    (replace-regexp-in-string "].*" "]" (ess-version)))
>>> #+end_src
>>>
>>> #+RESULTS:
>>> : GNU Emacs 24.4.50.1 (x86_64-apple-darwin13.3.0, NS appkit-1265.21 Version 10.9.4 (Build 13E28))
>>> :  of 2014-09-02
>>> : Org-mode version 8.3beta (release_8.3beta-717-ga8096c)
>>> : ess-version: 14.05 [git: 4283f1304a54502c42707b6a4ba347703f0992dd]
>>>
>>> Regards,
>>> Andreas
>>>
>>>
>>>
>
>
>

-- 
Rainer M. Krug
email: Rainer<at>krugs<dot>de
PGP: 0x0F52F982

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 494 bytes --]

  parent reply	other threads:[~2015-01-07 14:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-06 12:40 [BUG] [babel] [R] :colnames yes conflicts with :results file Andreas Leha
2015-01-06 13:49 ` Rainer M Krug
2015-01-06 15:39   ` Andreas Leha
2015-01-06 17:50     ` Aaron Ecay
2015-01-07  9:11     ` Rainer M Krug [this message]
2015-01-06 16:01   ` Thomas S. Dye
2015-01-07  9:19     ` Rainer M Krug
2015-01-07 17:14       ` Thomas S. Dye
2015-01-07  9:33     ` Sebastien Vauban
2015-01-07 13:45       ` Rainer M Krug

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=m28uhf3qg1.fsf@krugs.de \
    --to=rainer@krugs.de \
    --cc=andreas.leha@med.uni-goettingen.de \
    --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).