Eric, On 23 March 2011 03:03, Eric Schulte <schulte.e...@gmail.com> wrote: > I believe the problem here is that your :var header argument syntax is > wrong. A :var header argument must have a name, and equals sign, and an > assignment for the variable, e.g. > > #+begin_src sh :var name="eric" > echo $name > #+end_src > > #+results: > : eric
Thanks for your reply, I think I deviated from the correct syntax while experimenting. After some more research I think I may have found either a bug or an omission from the manual. In order for R to assign column names to the resulting dataframe, an argument that is a table name must be the first argument at the point where a function is called from, whether it is executed directly (from within a source block) or by a #+call. The full org file that I believe verifies the above statement is http://pastebin.com/iixQdS0G , but to illustrate the issue: #+TBLNAME: data | x | parameter | value | |---+-----------+-------| | 0 | heat | 30 | | 1 | heat | 30 | #+source: func5 #+begin_src R :var name=data :var a="one" :colnames yes names(name) #+end_src executing directly works as expected: #+results: func5 | x | |-----------| | x | | parameter | | value | try a basic call (ignores :colnames): #+call: func5(name=data, a="two") #+results: func5(name=data, a="two") | x | | parameter | | value | however, with the table argument last: #+call: func5(a="two",name=data) #+results: func5(a="two",name=data) | X0 | | heat | | X30 | of course I have also tried swapping the order of the arguments in the source block (and the #+calls) and the statement still stands. Is this confirmable as a bug or have I gone wrong again somewhere? Thanks, Myles