emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [BUG] [babel] [R] :colnames yes conflicts with :results file


From: Rainer M Krug
Subject: Re: [O] [BUG] [babel] [R] :colnames yes conflicts with :results file
Date: Wed, 07 Jan 2015 10:11:58 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (darwin)

Andreas Leha <address@hidden> writes:

> Hi Rainer,
>
> Thanks for following up on this.
>
> Rainer M Krug <address@hidden> writes:
>> Andreas Leha <address@hidden> 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: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]