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 --]
next prev 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).