Re: [Orgmode] Re: problem with babel and R

2010-08-26 Thread Eric Schulte
Hi,

A fix to this issue has been pushed up to the repository.  As can now be
read in the documentation of the `org-babel-insert-result' function [1],
there is now a subtle distinction between :results org and :results
raw, where :results org will wrap code block results in a begin_src
org block.  The block wrapper makes it possible for the entirety of the
results to be located and removed by Babel upon code block
re-evaluation.

In addition a new ob-org.el file has been added providing support for
evaluation of Org-mode blocks.  With this new language support loaded
the above technique becomes a working replacement for :results raw
allowing the body of the org code block to be interpreted as inline
org-mode text on export.  This is done through some non-standard default
header arguments described in the recent commit message (see [2])

Best -- Eric

Eric Schulte schulte.e...@gmail.com writes:

 Hi David,

 #+end_results: foo (or some derivative syntax) sounds like a good
 idea, I'll add it to the Babel task list.

 Thanks -- Eric

 David Hajage dhaj...@gmail.com writes:

 OK, I understand that using :results org, the results is not altered,
 there is no post processing. But I don't want a post processing, I would
 like a way to tell babel where is the begining *and the end* of the output
 produces by a particular R source block. I think an #+end_results: foo at
 the end of the output could do the job. Then, the option replace could
 work in all situation, even if a blank line is inserted somewhere in the org
 output. No?
 David


 On Tue, Aug 17, 2010 at 17:15, Eric Schulte schulte.e...@gmail.com wrote:

 Hi David,

 David Hajage dhaj...@gmail.com writes:

  Thank you very much for your answer.
 

 My pleasure

 
  But when I run the following code directly into R, no extra lines is
 added
  by the ascii function:
  library(ascii)
  Le chargement a nécessité le package : proto
  options(asciiType = org)
  ascii(head(esoph)) # no extra line
  |   | agegp | alcgp | tobgp| ncases | ncontrols |
  |---+---+---+--++---|
  | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
  | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
  | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
  | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
  | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
  | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |
 

 ah, my fault, this isn't an ascii issue.

 
  In fact, the solution was to run 'library(ascii)' in another source
 block.
  When I run only this:
 

 Thanks for pointing this out, I see what's happening now.

 The :results output header argument (see [1] for information on header
 arguments) informs Org-mode to collect all of the output of the source
 code block.  This means that when library(ascii) is run, an empty line
 is collected and appended to the output.  Removing the output header
 argument should fix this issue.

 My I ask why you are using the ascii package for simple table output?
 It seems to me that this would be much simpler using the pure Org-mode
 solution I suggested in my previous email.

 
  #+begin_src R :session *R* :results output org replace
ascii(head(esoph))
  #+end_src
 
  #+results: foo
  |   | agegp | alcgp |tobgp | ncases | ncontrols |
  |---+---+---+--++---|
  | 1 | 25-34 | 0-39g/day | 0-9g/day |   0.00 | 40.00 |
  | 2 | 25-34 | 0-39g/day |10-19 |   0.00 | 10.00 |
  | 3 | 25-34 | 0-39g/day |20-29 |   0.00 |  6.00 |
  | 4 | 25-34 | 0-39g/day |  30+ |   0.00 |  5.00 |
  | 5 | 25-34 | 40-79 | 0-9g/day |   0.00 | 27.00 |
  | 6 | 25-34 | 40-79 |10-19 |   0.00 |  7.00 |
 
  Everything is then OK.
  I have no idea why library(ascii)... generates an extra empty line in
 the
  results.
 
  If I understand, the results is all the text directly under #+results:,
  until the first empty line. But what happens if the result contains empty
  lines? Here an example with ascii and Hmisc package:
 

 This is not quite right, see [2] for a discussion of results handling.
 The org option to results is a special case in which no
 post-processing of the results takes place, and the raw output is
 inserted into the org-mode buffer.

 Under normal usage w/o this header argument, results are either tabular
 or are textual.  If tabular a single table can easily be recognized and
 handled, if textual they are normally enclosed in a block (example,
 html, latex, etc...), the block then allows for empty lines while still
 making it clear where the results end.




 
  library(ascii)
  library(Hmisc)
  ascii(describe(esoph[, 1:3]))
  #+CAPTION: esoph[, 1:3]
  - 3 Variable
  - 88 Observations
 
  *agegp*
  | n  | missing | unique |
  | 88 | 0   | 6  |
 
  |   | 25-34 | 35-44 | 45-54 | 55-64 | 65-74 | 75+ |
  | Frequency | 15| 15| 16| 16| 15| 11  |
  | % | 

Re: [Orgmode] Re: problem with babel and R

2010-08-26 Thread David Hajage
I am so sorry to bother you again, but I must miss something.

When I write:

#+begin_src R :results output org :exports both
library(ascii)
options(asciiType = org)
ascii(head(esoph))
#+end_src

The results is:

#+results:
#+BEGIN_SRC org
|   | agegp | alcgp | tobgp| ncases | ncontrols |
|---+---+---+--++---|
| 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
| 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
| 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
| 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
| 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
| 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |
#+END_SRC

OK, the result is surrounded by BEGIN_SRC org/END_SRC. But when I export
this, the results is exported as fontified org code. What should I do to
have this result interpreted as org markup?
David


On Thu, Aug 26, 2010 at 18:10, Eric Schulte schulte.e...@gmail.com wrote:

 Hi,

 A fix to this issue has been pushed up to the repository.  As can now be
 read in the documentation of the `org-babel-insert-result' function [1],
 there is now a subtle distinction between :results org and :results
 raw, where :results org will wrap code block results in a begin_src
 org block.  The block wrapper makes it possible for the entirety of the
 results to be located and removed by Babel upon code block
 re-evaluation.

 In addition a new ob-org.el file has been added providing support for
 evaluation of Org-mode blocks.  With this new language support loaded
 the above technique becomes a working replacement for :results raw
 allowing the body of the org code block to be interpreted as inline
 org-mode text on export.  This is done through some non-standard default
 header arguments described in the recent commit message (see [2])

 Best -- Eric

 Eric Schulte schulte.e...@gmail.com writes:

  Hi David,
 
  #+end_results: foo (or some derivative syntax) sounds like a good
  idea, I'll add it to the Babel task list.
 
  Thanks -- Eric
 
  David Hajage dhaj...@gmail.com writes:
 
  OK, I understand that using :results org, the results is not altered,
  there is no post processing. But I don't want a post processing, I would
  like a way to tell babel where is the begining *and the end* of the
 output
  produces by a particular R source block. I think an #+end_results: foo
 at
  the end of the output could do the job. Then, the option replace could
  work in all situation, even if a blank line is inserted somewhere in the
 org
  output. No?
  David
 
 
  On Tue, Aug 17, 2010 at 17:15, Eric Schulte schulte.e...@gmail.com
 wrote:
 
  Hi David,
 
  David Hajage dhaj...@gmail.com writes:
 
   Thank you very much for your answer.
  
 
  My pleasure
 
  
   But when I run the following code directly into R, no extra lines is
  added
   by the ascii function:
   library(ascii)
   Le chargement a nécessité le package : proto
   options(asciiType = org)
   ascii(head(esoph)) # no extra line
   |   | agegp | alcgp | tobgp| ncases | ncontrols |
   |---+---+---+--++---|
   | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
   | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
   | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
   | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
   | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
   | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |
  
 
  ah, my fault, this isn't an ascii issue.
 
  
   In fact, the solution was to run 'library(ascii)' in another source
  block.
   When I run only this:
  
 
  Thanks for pointing this out, I see what's happening now.
 
  The :results output header argument (see [1] for information on header
  arguments) informs Org-mode to collect all of the output of the source
  code block.  This means that when library(ascii) is run, an empty line
  is collected and appended to the output.  Removing the output header
  argument should fix this issue.
 
  My I ask why you are using the ascii package for simple table output?
  It seems to me that this would be much simpler using the pure Org-mode
  solution I suggested in my previous email.
 
  
   #+begin_src R :session *R* :results output org replace
 ascii(head(esoph))
   #+end_src
  
   #+results: foo
   |   | agegp | alcgp |tobgp | ncases | ncontrols |
   |---+---+---+--++---|
   | 1 | 25-34 | 0-39g/day | 0-9g/day |   0.00 | 40.00 |
   | 2 | 25-34 | 0-39g/day |10-19 |   0.00 | 10.00 |
   | 3 | 25-34 | 0-39g/day |20-29 |   0.00 |  6.00 |
   | 4 | 25-34 | 0-39g/day |  30+ |   0.00 |  5.00 |
   | 5 | 25-34 | 40-79 | 0-9g/day |   0.00 | 27.00 |
   | 6 | 25-34 | 40-79 |10-19 |   0.00 |  7.00 |
  
   Everything is then OK.
   I have no idea why library(ascii)... generates an extra empty line
 in
  the
   results.
  
   If I 

Re: [Orgmode] Re: problem with babel and R

2010-08-26 Thread David Hajage
Oups, I forgot ob-org in my .emacs... OK, now, really sorry for this.
David


On Thu, Aug 26, 2010 at 22:20, David Hajage dhaj...@gmail.com wrote:

 I am so sorry to bother you again, but I must miss something.

 When I write:

 #+begin_src R :results output org :exports both
 library(ascii)
 options(asciiType = org)
 ascii(head(esoph))
 #+end_src

 The results is:

 #+results:
 #+BEGIN_SRC org
 |   | agegp | alcgp | tobgp| ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
 | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
 | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
 | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
 | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
 | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |
 #+END_SRC

 OK, the result is surrounded by BEGIN_SRC org/END_SRC. But when I export
 this, the results is exported as fontified org code. What should I do to
 have this result interpreted as org markup?
 David



 On Thu, Aug 26, 2010 at 18:10, Eric Schulte schulte.e...@gmail.comwrote:

 Hi,

 A fix to this issue has been pushed up to the repository.  As can now be
 read in the documentation of the `org-babel-insert-result' function [1],
 there is now a subtle distinction between :results org and :results
 raw, where :results org will wrap code block results in a begin_src
 org block.  The block wrapper makes it possible for the entirety of the
 results to be located and removed by Babel upon code block
 re-evaluation.

 In addition a new ob-org.el file has been added providing support for
 evaluation of Org-mode blocks.  With this new language support loaded
 the above technique becomes a working replacement for :results raw
 allowing the body of the org code block to be interpreted as inline
 org-mode text on export.  This is done through some non-standard default
 header arguments described in the recent commit message (see [2])

 Best -- Eric

 Eric Schulte schulte.e...@gmail.com writes:

  Hi David,
 
  #+end_results: foo (or some derivative syntax) sounds like a good
  idea, I'll add it to the Babel task list.
 
  Thanks -- Eric
 
  David Hajage dhaj...@gmail.com writes:
 
  OK, I understand that using :results org, the results is not altered,
  there is no post processing. But I don't want a post processing, I
 would
  like a way to tell babel where is the begining *and the end* of the
 output
  produces by a particular R source block. I think an #+end_results:
 foo at
  the end of the output could do the job. Then, the option replace
 could
  work in all situation, even if a blank line is inserted somewhere in
 the org
  output. No?
  David
 
 
  On Tue, Aug 17, 2010 at 17:15, Eric Schulte schulte.e...@gmail.com
 wrote:
 
  Hi David,
 
  David Hajage dhaj...@gmail.com writes:
 
   Thank you very much for your answer.
  
 
  My pleasure
 
  
   But when I run the following code directly into R, no extra lines is
  added
   by the ascii function:
   library(ascii)
   Le chargement a nécessité le package : proto
   options(asciiType = org)
   ascii(head(esoph)) # no extra line
   |   | agegp | alcgp | tobgp| ncases | ncontrols |
   |---+---+---+--++---|
   | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
   | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
   | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
   | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
   | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
   | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |
  
 
  ah, my fault, this isn't an ascii issue.
 
  
   In fact, the solution was to run 'library(ascii)' in another source
  block.
   When I run only this:
  
 
  Thanks for pointing this out, I see what's happening now.
 
  The :results output header argument (see [1] for information on header
  arguments) informs Org-mode to collect all of the output of the source
  code block.  This means that when library(ascii) is run, an empty line
  is collected and appended to the output.  Removing the output header
  argument should fix this issue.
 
  My I ask why you are using the ascii package for simple table output?
  It seems to me that this would be much simpler using the pure Org-mode
  solution I suggested in my previous email.
 
  
   #+begin_src R :session *R* :results output org replace
 ascii(head(esoph))
   #+end_src
  
   #+results: foo
   |   | agegp | alcgp |tobgp | ncases | ncontrols |
   |---+---+---+--++---|
   | 1 | 25-34 | 0-39g/day | 0-9g/day |   0.00 | 40.00 |
   | 2 | 25-34 | 0-39g/day |10-19 |   0.00 | 10.00 |
   | 3 | 25-34 | 0-39g/day |20-29 |   0.00 |  6.00 |
   | 4 | 25-34 | 0-39g/day |  30+ |   0.00 |  5.00 |
   | 5 | 25-34 | 40-79 | 0-9g/day |   0.00 | 27.00 |
   | 6 | 25-34 | 40-79 

Re: [Orgmode] Re: problem with babel and R

2010-08-26 Thread David Hajage
One comment:

When I execute all the buffer (org-babel-execute-buffer), the result is:

#+begin_src R :results output org :exports both
library(ascii)
options(asciiType = org)
ascii(head(esoph, 3))
#+end_src

#+results:
#+BEGIN_SRC org
|   | agegp | alcgp | tobgp| ncases | ncontrols |
|---+---+---+--++---|
| 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
| 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
| 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
#+END_SRC

#+results:
|   | agegp | alcgp |tobgp | ncases | ncontrols |
|---+---+---+--++---|
| 1 | 25-34 | 0-39g/day | 0-9g/day |   0.00 | 40.00 |
| 2 | 25-34 | 0-39g/day |10-19 |   0.00 | 10.00 |
| 3 | 25-34 | 0-39g/day |20-29 |   0.00 |  6.00 |

Then, the results is repeated twice in the buffer. I understand why, but
perhaps the silent option should be turned on by default for org code
blocks?

David


On Thu, Aug 26, 2010 at 23:51, David Hajage dhaj...@gmail.com wrote:

 Oups, I forgot ob-org in my .emacs... OK, now, really sorry for this.
 David



 On Thu, Aug 26, 2010 at 22:20, David Hajage dhaj...@gmail.com wrote:

 I am so sorry to bother you again, but I must miss something.

 When I write:

 #+begin_src R :results output org :exports both
 library(ascii)
 options(asciiType = org)
 ascii(head(esoph))
 #+end_src

 The results is:

 #+results:
 #+BEGIN_SRC org
 |   | agegp | alcgp | tobgp| ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
 | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
 | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
 | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
 | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
 | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |
 #+END_SRC

 OK, the result is surrounded by BEGIN_SRC org/END_SRC. But when I export
 this, the results is exported as fontified org code. What should I do to
 have this result interpreted as org markup?
 David



 On Thu, Aug 26, 2010 at 18:10, Eric Schulte schulte.e...@gmail.comwrote:

 Hi,

 A fix to this issue has been pushed up to the repository.  As can now be
 read in the documentation of the `org-babel-insert-result' function [1],
 there is now a subtle distinction between :results org and :results
 raw, where :results org will wrap code block results in a begin_src
 org block.  The block wrapper makes it possible for the entirety of the
 results to be located and removed by Babel upon code block
 re-evaluation.

 In addition a new ob-org.el file has been added providing support for
 evaluation of Org-mode blocks.  With this new language support loaded
 the above technique becomes a working replacement for :results raw
 allowing the body of the org code block to be interpreted as inline
 org-mode text on export.  This is done through some non-standard default
 header arguments described in the recent commit message (see [2])

 Best -- Eric

 Eric Schulte schulte.e...@gmail.com writes:

  Hi David,
 
  #+end_results: foo (or some derivative syntax) sounds like a good
  idea, I'll add it to the Babel task list.
 
  Thanks -- Eric
 
  David Hajage dhaj...@gmail.com writes:
 
  OK, I understand that using :results org, the results is not
 altered,
  there is no post processing. But I don't want a post processing, I
 would
  like a way to tell babel where is the begining *and the end* of the
 output
  produces by a particular R source block. I think an #+end_results:
 foo at
  the end of the output could do the job. Then, the option replace
 could
  work in all situation, even if a blank line is inserted somewhere in
 the org
  output. No?
  David
 
 
  On Tue, Aug 17, 2010 at 17:15, Eric Schulte schulte.e...@gmail.com
 wrote:
 
  Hi David,
 
  David Hajage dhaj...@gmail.com writes:
 
   Thank you very much for your answer.
  
 
  My pleasure
 
  
   But when I run the following code directly into R, no extra lines
 is
  added
   by the ascii function:
   library(ascii)
   Le chargement a nécessité le package : proto
   options(asciiType = org)
   ascii(head(esoph)) # no extra line
   |   | agegp | alcgp | tobgp| ncases | ncontrols |
   |---+---+---+--++---|
   | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
   | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
   | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
   | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
   | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
   | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |
  
 
  ah, my fault, this isn't an ascii issue.
 
  
   In fact, the solution was to run 'library(ascii)' in another source
  block.
   When I run only this:
  
 
  Thanks for pointing this out, I see what's happening now.
 
  The :results 

Re: [Orgmode] Re: problem with babel and R

2010-08-26 Thread Eric Schulte
Oh no!

It appears this solution may have been too clever for it's own good.

Thanks for suggesting :results silent as an additional default header
argument, that appears to fixed this weird behavior.

I've just pushed up that fix.

Cheers -- Eric

David Hajage dhaj...@gmail.com writes:

 One comment:

 When I execute all the buffer (org-babel-execute-buffer), the result is:

 #+begin_src R :results output org :exports both
 library(ascii)
 options(asciiType = org)
 ascii(head(esoph, 3))
 #+end_src

 #+results:
 #+BEGIN_SRC org
 |   | agegp | alcgp | tobgp| ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
 | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
 | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
 #+END_SRC

 #+results:
 |   | agegp | alcgp |tobgp | ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day |   0.00 | 40.00 |
 | 2 | 25-34 | 0-39g/day |10-19 |   0.00 | 10.00 |
 | 3 | 25-34 | 0-39g/day |20-29 |   0.00 |  6.00 |

 Then, the results is repeated twice in the buffer. I understand why, but
 perhaps the silent option should be turned on by default for org code
 blocks?

 David


 On Thu, Aug 26, 2010 at 23:51, David Hajage dhaj...@gmail.com wrote:

 Oups, I forgot ob-org in my .emacs... OK, now, really sorry for this.
 David



 On Thu, Aug 26, 2010 at 22:20, David Hajage dhaj...@gmail.com wrote:

 I am so sorry to bother you again, but I must miss something.

 When I write:

 #+begin_src R :results output org :exports both
 library(ascii)
 options(asciiType = org)
 ascii(head(esoph))
 #+end_src

 The results is:

 #+results:
 #+BEGIN_SRC org
 |   | agegp | alcgp | tobgp| ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
 | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
 | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
 | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
 | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
 | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |
 #+END_SRC

 OK, the result is surrounded by BEGIN_SRC org/END_SRC. But when I export
 this, the results is exported as fontified org code. What should I do to
 have this result interpreted as org markup?
 David



 On Thu, Aug 26, 2010 at 18:10, Eric Schulte schulte.e...@gmail.comwrote:

 Hi,

 A fix to this issue has been pushed up to the repository.  As can now be
 read in the documentation of the `org-babel-insert-result' function [1],
 there is now a subtle distinction between :results org and :results
 raw, where :results org will wrap code block results in a begin_src
 org block.  The block wrapper makes it possible for the entirety of the
 results to be located and removed by Babel upon code block
 re-evaluation.

 In addition a new ob-org.el file has been added providing support for
 evaluation of Org-mode blocks.  With this new language support loaded
 the above technique becomes a working replacement for :results raw
 allowing the body of the org code block to be interpreted as inline
 org-mode text on export.  This is done through some non-standard default
 header arguments described in the recent commit message (see [2])

 Best -- Eric

 Eric Schulte schulte.e...@gmail.com writes:

  Hi David,
 
  #+end_results: foo (or some derivative syntax) sounds like a good
  idea, I'll add it to the Babel task list.
 
  Thanks -- Eric
 
  David Hajage dhaj...@gmail.com writes:
 
  OK, I understand that using :results org, the results is not
 altered,
  there is no post processing. But I don't want a post processing, I
 would
  like a way to tell babel where is the begining *and the end* of the
 output
  produces by a particular R source block. I think an #+end_results:
 foo at
  the end of the output could do the job. Then, the option replace
 could
  work in all situation, even if a blank line is inserted somewhere in
 the org
  output. No?
  David
 
 
  On Tue, Aug 17, 2010 at 17:15, Eric Schulte schulte.e...@gmail.com
 wrote:
 
  Hi David,
 
  David Hajage dhaj...@gmail.com writes:
 
   Thank you very much for your answer.
  
 
  My pleasure
 
  
   But when I run the following code directly into R, no extra lines
 is
  added
   by the ascii function:
   library(ascii)
   Le chargement a nécessité le package : proto
   options(asciiType = org)
   ascii(head(esoph)) # no extra line
   |   | agegp | alcgp | tobgp| ncases | ncontrols |
   |---+---+---+--++---|
   | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
   | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
   | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
   | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
   | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   

Re: [Orgmode] Re: problem with babel and R

2010-08-18 Thread David Hajage
OK, I understand that using :results org, the results is not altered,
there is no post processing. But I don't want a post processing, I would
like a way to tell babel where is the begining *and the end* of the output
produces by a particular R source block. I think an #+end_results: foo at
the end of the output could do the job. Then, the option replace could
work in all situation, even if a blank line is inserted somewhere in the org
output. No?
David


On Tue, Aug 17, 2010 at 17:15, Eric Schulte schulte.e...@gmail.com wrote:

 Hi David,

 David Hajage dhaj...@gmail.com writes:

  Thank you very much for your answer.
 

 My pleasure

 
  But when I run the following code directly into R, no extra lines is
 added
  by the ascii function:
  library(ascii)
  Le chargement a nécessité le package : proto
  options(asciiType = org)
  ascii(head(esoph)) # no extra line
  |   | agegp | alcgp | tobgp| ncases | ncontrols |
  |---+---+---+--++---|
  | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
  | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
  | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
  | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
  | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
  | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |
 

 ah, my fault, this isn't an ascii issue.

 
  In fact, the solution was to run 'library(ascii)' in another source
 block.
  When I run only this:
 

 Thanks for pointing this out, I see what's happening now.

 The :results output header argument (see [1] for information on header
 arguments) informs Org-mode to collect all of the output of the source
 code block.  This means that when library(ascii) is run, an empty line
 is collected and appended to the output.  Removing the output header
 argument should fix this issue.

 My I ask why you are using the ascii package for simple table output?
 It seems to me that this would be much simpler using the pure Org-mode
 solution I suggested in my previous email.

 
  #+begin_src R :session *R* :results output org replace
ascii(head(esoph))
  #+end_src
 
  #+results: foo
  |   | agegp | alcgp |tobgp | ncases | ncontrols |
  |---+---+---+--++---|
  | 1 | 25-34 | 0-39g/day | 0-9g/day |   0.00 | 40.00 |
  | 2 | 25-34 | 0-39g/day |10-19 |   0.00 | 10.00 |
  | 3 | 25-34 | 0-39g/day |20-29 |   0.00 |  6.00 |
  | 4 | 25-34 | 0-39g/day |  30+ |   0.00 |  5.00 |
  | 5 | 25-34 | 40-79 | 0-9g/day |   0.00 | 27.00 |
  | 6 | 25-34 | 40-79 |10-19 |   0.00 |  7.00 |
 
  Everything is then OK.
  I have no idea why library(ascii)... generates an extra empty line in
 the
  results.
 
  If I understand, the results is all the text directly under #+results:,
  until the first empty line. But what happens if the result contains empty
  lines? Here an example with ascii and Hmisc package:
 

 This is not quite right, see [2] for a discussion of results handling.
 The org option to results is a special case in which no
 post-processing of the results takes place, and the raw output is
 inserted into the org-mode buffer.

 Under normal usage w/o this header argument, results are either tabular
 or are textual.  If tabular a single table can easily be recognized and
 handled, if textual they are normally enclosed in a block (example,
 html, latex, etc...), the block then allows for empty lines while still
 making it clear where the results end.




 
  library(ascii)
  library(Hmisc)
  ascii(describe(esoph[, 1:3]))
  #+CAPTION: esoph[, 1:3]
  - 3 Variable
  - 88 Observations
 
  *agegp*
  | n  | missing | unique |
  | 88 | 0   | 6  |
 
  |   | 25-34 | 35-44 | 45-54 | 55-64 | 65-74 | 75+ |
  | Frequency | 15| 15| 16| 16| 15| 11  |
  | % | 17| 17| 18| 18| 17| 12  |
 
  *alcgp*
  | n  | missing | unique |
  | 88 | 0   | 4  |
 
   0-39g/day (23, 26%), 40-79 (23, 26%), 80-119 (21, 24%), 120+ (21, 24%)
 
  *tobgp*
  | n  | missing | unique |
  | 88 | 0   | 4  |
 
   0-9g/day (24, 27%), 10-19 (24, 27%), 20-29 (20, 23%), 30+ (20, 23%)
 
  As you can see, describe() generate a description of my data, and ascii
  generate org-mode markup as result. The result contains empty rows. Since
  there is no special characters indicating the end of the results in
 babel,
  replace option will not work in this case. Is there any workaround?
 

 When using :results org there is no workaround, as the explicit
 purpose of this setting is for your results to be inserted directly into
 the Org-mode buffer w/o any interpretation or alteration.




 In general I would recommend keeping a 1-to-1 mapping between code
 blocks and result items, which should resolve this issue.

 
  Of course, ascii is not usefull in this case, but it can coerce into
  org-mode markup many other R objects (see my previous 

Re: [Orgmode] Re: problem with babel and R

2010-08-18 Thread Eric Schulte
Hi David,

#+end_results: foo (or some derivative syntax) sounds like a good
idea, I'll add it to the Babel task list.

Thanks -- Eric

David Hajage dhaj...@gmail.com writes:

 OK, I understand that using :results org, the results is not altered,
 there is no post processing. But I don't want a post processing, I would
 like a way to tell babel where is the begining *and the end* of the output
 produces by a particular R source block. I think an #+end_results: foo at
 the end of the output could do the job. Then, the option replace could
 work in all situation, even if a blank line is inserted somewhere in the org
 output. No?
 David


 On Tue, Aug 17, 2010 at 17:15, Eric Schulte schulte.e...@gmail.com wrote:

 Hi David,

 David Hajage dhaj...@gmail.com writes:

  Thank you very much for your answer.
 

 My pleasure

 
  But when I run the following code directly into R, no extra lines is
 added
  by the ascii function:
  library(ascii)
  Le chargement a nécessité le package : proto
  options(asciiType = org)
  ascii(head(esoph)) # no extra line
  |   | agegp | alcgp | tobgp| ncases | ncontrols |
  |---+---+---+--++---|
  | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
  | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
  | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
  | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
  | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
  | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |
 

 ah, my fault, this isn't an ascii issue.

 
  In fact, the solution was to run 'library(ascii)' in another source
 block.
  When I run only this:
 

 Thanks for pointing this out, I see what's happening now.

 The :results output header argument (see [1] for information on header
 arguments) informs Org-mode to collect all of the output of the source
 code block.  This means that when library(ascii) is run, an empty line
 is collected and appended to the output.  Removing the output header
 argument should fix this issue.

 My I ask why you are using the ascii package for simple table output?
 It seems to me that this would be much simpler using the pure Org-mode
 solution I suggested in my previous email.

 
  #+begin_src R :session *R* :results output org replace
ascii(head(esoph))
  #+end_src
 
  #+results: foo
  |   | agegp | alcgp |tobgp | ncases | ncontrols |
  |---+---+---+--++---|
  | 1 | 25-34 | 0-39g/day | 0-9g/day |   0.00 | 40.00 |
  | 2 | 25-34 | 0-39g/day |10-19 |   0.00 | 10.00 |
  | 3 | 25-34 | 0-39g/day |20-29 |   0.00 |  6.00 |
  | 4 | 25-34 | 0-39g/day |  30+ |   0.00 |  5.00 |
  | 5 | 25-34 | 40-79 | 0-9g/day |   0.00 | 27.00 |
  | 6 | 25-34 | 40-79 |10-19 |   0.00 |  7.00 |
 
  Everything is then OK.
  I have no idea why library(ascii)... generates an extra empty line in
 the
  results.
 
  If I understand, the results is all the text directly under #+results:,
  until the first empty line. But what happens if the result contains empty
  lines? Here an example with ascii and Hmisc package:
 

 This is not quite right, see [2] for a discussion of results handling.
 The org option to results is a special case in which no
 post-processing of the results takes place, and the raw output is
 inserted into the org-mode buffer.

 Under normal usage w/o this header argument, results are either tabular
 or are textual.  If tabular a single table can easily be recognized and
 handled, if textual they are normally enclosed in a block (example,
 html, latex, etc...), the block then allows for empty lines while still
 making it clear where the results end.




 
  library(ascii)
  library(Hmisc)
  ascii(describe(esoph[, 1:3]))
  #+CAPTION: esoph[, 1:3]
  - 3 Variable
  - 88 Observations
 
  *agegp*
  | n  | missing | unique |
  | 88 | 0   | 6  |
 
  |   | 25-34 | 35-44 | 45-54 | 55-64 | 65-74 | 75+ |
  | Frequency | 15| 15| 16| 16| 15| 11  |
  | % | 17| 17| 18| 18| 17| 12  |
 
  *alcgp*
  | n  | missing | unique |
  | 88 | 0   | 4  |
 
   0-39g/day (23, 26%), 40-79 (23, 26%), 80-119 (21, 24%), 120+ (21, 24%)
 
  *tobgp*
  | n  | missing | unique |
  | 88 | 0   | 4  |
 
   0-9g/day (24, 27%), 10-19 (24, 27%), 20-29 (20, 23%), 30+ (20, 23%)
 
  As you can see, describe() generate a description of my data, and ascii
  generate org-mode markup as result. The result contains empty rows. Since
  there is no special characters indicating the end of the results in
 babel,
  replace option will not work in this case. Is there any workaround?
 

 When using :results org there is no workaround, as the explicit
 purpose of this setting is for your results to be inserted directly into
 the Org-mode buffer w/o any interpretation or alteration.




 In general I would recommend keeping a 1-to-1 mapping between code
 blocks 

Re: [Orgmode] Re: problem with babel and R

2010-08-17 Thread Eric Schulte
Hi David,

It seems that the problem here is in the ascii package.  It is inserting
an empty line at the beginning of your table, so that the table is not
snugly sitting under the #+results foo tag, because of this the table
isn't seen as results and is not replaced -- if you delete that space
then re-run the code block you'll notice that the table is replaced.

Org-mode is very capable of inserting tabular data into Org-mode
documents without using the ascii package.  For example the following
would be a more idiomatic example of using Org-mode to create a table
from R code.

--8---cut here---start-8---
#+begin_src R
  numbers - matrix(c(51,43,22,92,28,21,68,22,9),ncol=3,byrow=TRUE)
  numbers
#+end_src

#+results:
| 51 | 43 | 22 |
| 92 | 28 | 21 |
| 68 | 22 |  9 |

#+begin_src R :colnames yes
  numbers - matrix(c(51,43,22,92,28,21,68,22,9),ncol=3,byrow=TRUE)
  numbers
#+end_src

#+results:
| V1 | V2 | V3 |
|++|
| 51 | 43 | 22 |
| 92 | 28 | 21 |
| 68 | 22 |  9 |
--8---cut here---end---8---

or applied to your example, the following code block should generate the
desired results.

--8---cut here---start-8---
#+srcname: foo
#+begin_src R :session *R*
  head(esoph)
#+end_src
--8---cut here---end---8---

One last small note: the replace argument to :results is normally the
default value, and doesn't need to be explicitly added (although I can
see why you would have added it in this case since it wasn't working as
expected).

Cheers -- Eric

David Hajage dhaj...@gmail.com writes:

 I tried the code with the last development version of org-mode:

 #+srcname: foo
 #+begin_src R :session *R* :results output org replace
   library(ascii)
   options(asciiType = org)
   ascii(head(esoph))
 #+end_src

 #+results: foo

  |   | agegp | alcgp | tobgp| ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
 | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
 | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
 | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
 | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
 | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |

  |   | agegp | alcgp | tobgp| ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
 | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
 | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
 | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
 | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
 | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |

 There is no more , but an extra space.
 But, the replace option doesn't work: results are still appended. I am not
 an org-mode guru (far, far away), but I think this is because when output is
 org, there is no indication about the end of the results.

 David


 On Tue, Aug 17, 2010 at 10:17, David Hajage dhaj...@gmail.com wrote:

 Hello,

 I am trying to use babel with R. Here the code:

 #+srcname: foo
 #+begin_src R :session *R* :results output org replace
   library(ascii)
   options(asciiType = org)
   ascii(head(esoph))
 #+end_src

 #+results: foo

  |   | agegp | alcgp | tobgp| ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
 | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
 | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
 | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
 | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
 | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |

  |   | agegp | alcgp | tobgp| ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
 | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
 | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
 | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
 | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
 | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |

 With org-mode 7.01g in emacs 23, there is two problems:
  - an extra  is added in the first line while output is org
  - when I run the code twice, the new results is appended, while I have the
 option replace.

 Is there any problem with my header?

 Thank you very much for your help.
 David

 ___
 Emacs-orgmode mailing list
 Please use `Reply All' to send replies to the list.
 Emacs-orgmode@gnu.org
 http://lists.gnu.org/mailman/listinfo/emacs-orgmode

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.

Re: [Orgmode] Re: problem with babel and R

2010-08-17 Thread David Hajage
Thank you very much for your answer.

But when I run the following code directly into R, no extra lines is added
by the ascii function:
 library(ascii)
Le chargement a nécessité le package : proto
 options(asciiType = org)
 ascii(head(esoph)) # no extra line
|   | agegp | alcgp | tobgp| ncases | ncontrols |
|---+---+---+--++---|
| 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
| 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
| 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
| 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
| 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
| 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |

To see what hapens, I tried this:
--8---cut here---start-8---
#+srcname: foo
#+begin_src R :session *R* :results output org replace
  library(ascii)
  options(asciiType = org)
  head(esoph)
#+end_src

#+results: foo

  agegp alcgptobgp ncases ncontrols
1 25-34 0-39g/day 0-9g/day  040
2 25-34 0-39g/day10-19  010
3 25-34 0-39g/day20-29  0 6
4 25-34 0-39g/day  30+  0 5
5 25-34 40-79 0-9g/day  027
6 25-34 40-7910-19  0 7
--8---cut here---end---8---

The extra line is still there.

In fact, the solution was to run 'library(ascii)' in another source block.
When I run only this:

--8---cut here---start-8---
#+begin_src R :session *R* :results output org replace
  ascii(head(esoph))
#+end_src

#+results: foo
|   | agegp | alcgp |tobgp | ncases | ncontrols |
|---+---+---+--++---|
| 1 | 25-34 | 0-39g/day | 0-9g/day |   0.00 | 40.00 |
| 2 | 25-34 | 0-39g/day |10-19 |   0.00 | 10.00 |
| 3 | 25-34 | 0-39g/day |20-29 |   0.00 |  6.00 |
| 4 | 25-34 | 0-39g/day |  30+ |   0.00 |  5.00 |
| 5 | 25-34 | 40-79 | 0-9g/day |   0.00 | 27.00 |
| 6 | 25-34 | 40-79 |10-19 |   0.00 |  7.00 |
--8---cut here---end-8---

Everything is then OK.
I have no idea why library(ascii)... generates an extra empty line in the
results.

If I understand, the results is all the text directly under #+results:,
until the first empty line. But what happens if the result contains empty
lines? Here an example with ascii and Hmisc package:

--8---cut here---start-8---
 library(ascii)
 library(Hmisc)
 ascii(describe(esoph[, 1:3]))
#+CAPTION: esoph[, 1:3]
- 3 Variable
- 88 Observations

*agegp*
| n  | missing | unique |
| 88 | 0   | 6  |

|   | 25-34 | 35-44 | 45-54 | 55-64 | 65-74 | 75+ |
| Frequency | 15| 15| 16| 16| 15| 11  |
| % | 17| 17| 18| 18| 17| 12  |

*alcgp*
| n  | missing | unique |
| 88 | 0   | 4  |

 0-39g/day (23, 26%), 40-79 (23, 26%), 80-119 (21, 24%), 120+ (21, 24%)

*tobgp*
| n  | missing | unique |
| 88 | 0   | 4  |

 0-9g/day (24, 27%), 10-19 (24, 27%), 20-29 (20, 23%), 30+ (20, 23%)
--8---cut here---end---8---

As you can see, describe() generate a description of my data, and ascii
generate org-mode markup as result. The result contains empty rows. Since
there is no special characters indicating the end of the results in babel,
replace option will not work in this case. Is there any workaround?

Of course, ascii is not usefull in this case, but it can coerce into
org-mode markup many other R objects (see my previous example and
http://orgmode.org/worg/org-contrib/babel/examples/ascii.php)

David


On Tue, Aug 17, 2010 at 15:57, Eric Schulte schulte.e...@gmail.com wrote:

 Hi David,

 It seems that the problem here is in the ascii package.  It is inserting
 an empty line at the beginning of your table, so that the table is not
 snugly sitting under the #+results foo tag, because of this the table
 isn't seen as results and is not replaced -- if you delete that space
 then re-run the code block you'll notice that the table is replaced.

 Org-mode is very capable of inserting tabular data into Org-mode
 documents without using the ascii package.  For example the following
 would be a more idiomatic example of using Org-mode to create a table
 from R code.

 --8---cut here---start-8---
 #+begin_src R
  numbers - matrix(c(51,43,22,92,28,21,68,22,9),ncol=3,byrow=TRUE)
  numbers
 #+end_src

 #+results:
 | 51 | 43 | 22 |
 | 92 | 28 | 21 |
 | 68 | 22 |  9 |

 #+begin_src R :colnames yes
  numbers - matrix(c(51,43,22,92,28,21,68,22,9),ncol=3,byrow=TRUE)
  numbers
 #+end_src

 #+results:
 | V1 | V2 | V3 |
 |++|
 | 51 | 43 | 22 |
 | 92 | 28 | 21 |
 | 68 | 22 |  9 |
 --8---cut here---end---8---

 or applied to your example, the following code block should generate the
 

Re: [Orgmode] Re: problem with babel and R

2010-08-17 Thread Eric Schulte
Hi David,

David Hajage dhaj...@gmail.com writes:

 Thank you very much for your answer.


My pleasure


 But when I run the following code directly into R, no extra lines is
added
 by the ascii function:
 library(ascii)
 Le chargement a nécessité le package : proto
 options(asciiType = org)
 ascii(head(esoph)) # no extra line
 |   | agegp | alcgp | tobgp| ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day | 0.00   | 40.00 |
 | 2 | 25-34 | 0-39g/day | 10-19| 0.00   | 10.00 |
 | 3 | 25-34 | 0-39g/day | 20-29| 0.00   | 6.00  |
 | 4 | 25-34 | 0-39g/day | 30+  | 0.00   | 5.00  |
 | 5 | 25-34 | 40-79 | 0-9g/day | 0.00   | 27.00 |
 | 6 | 25-34 | 40-79 | 10-19| 0.00   | 7.00  |


ah, my fault, this isn't an ascii issue.


 In fact, the solution was to run 'library(ascii)' in another source block.
 When I run only this:


Thanks for pointing this out, I see what's happening now.

The :results output header argument (see [1] for information on header
arguments) informs Org-mode to collect all of the output of the source
code block.  This means that when library(ascii) is run, an empty line
is collected and appended to the output.  Removing the output header
argument should fix this issue.

My I ask why you are using the ascii package for simple table output?
It seems to me that this would be much simpler using the pure Org-mode
solution I suggested in my previous email.


 #+begin_src R :session *R* :results output org replace
   ascii(head(esoph))
 #+end_src

 #+results: foo
 |   | agegp | alcgp |tobgp | ncases | ncontrols |
 |---+---+---+--++---|
 | 1 | 25-34 | 0-39g/day | 0-9g/day |   0.00 | 40.00 |
 | 2 | 25-34 | 0-39g/day |10-19 |   0.00 | 10.00 |
 | 3 | 25-34 | 0-39g/day |20-29 |   0.00 |  6.00 |
 | 4 | 25-34 | 0-39g/day |  30+ |   0.00 |  5.00 |
 | 5 | 25-34 | 40-79 | 0-9g/day |   0.00 | 27.00 |
 | 6 | 25-34 | 40-79 |10-19 |   0.00 |  7.00 |

 Everything is then OK.
 I have no idea why library(ascii)... generates an extra empty line in the
 results.

 If I understand, the results is all the text directly under #+results:,
 until the first empty line. But what happens if the result contains empty
 lines? Here an example with ascii and Hmisc package:


This is not quite right, see [2] for a discussion of results handling.
The org option to results is a special case in which no
post-processing of the results takes place, and the raw output is
inserted into the org-mode buffer.

Under normal usage w/o this header argument, results are either tabular
or are textual.  If tabular a single table can easily be recognized and
handled, if textual they are normally enclosed in a block (example,
html, latex, etc...), the block then allows for empty lines while still
making it clear where the results end.


 library(ascii)
 library(Hmisc)
 ascii(describe(esoph[, 1:3]))
 #+CAPTION: esoph[, 1:3]
 - 3 Variable
 - 88 Observations

 *agegp*
 | n  | missing | unique |
 | 88 | 0   | 6  |

 |   | 25-34 | 35-44 | 45-54 | 55-64 | 65-74 | 75+ |
 | Frequency | 15| 15| 16| 16| 15| 11  |
 | % | 17| 17| 18| 18| 17| 12  |

 *alcgp*
 | n  | missing | unique |
 | 88 | 0   | 4  |

  0-39g/day (23, 26%), 40-79 (23, 26%), 80-119 (21, 24%), 120+ (21, 24%)

 *tobgp*
 | n  | missing | unique |
 | 88 | 0   | 4  |

  0-9g/day (24, 27%), 10-19 (24, 27%), 20-29 (20, 23%), 30+ (20, 23%)

 As you can see, describe() generate a description of my data, and ascii
 generate org-mode markup as result. The result contains empty rows. Since
 there is no special characters indicating the end of the results in babel,
 replace option will not work in this case. Is there any workaround?


When using :results org there is no workaround, as the explicit
purpose of this setting is for your results to be inserted directly into
the Org-mode buffer w/o any interpretation or alteration.

In general I would recommend keeping a 1-to-1 mapping between code
blocks and result items, which should resolve this issue.


 Of course, ascii is not usefull in this case, but it can coerce into
 org-mode markup many other R objects (see my previous example and
 http://orgmode.org/worg/org-contrib/babel/examples/ascii.php)


I see, that answers my question from above. Thanks

Hope this helps -- Eric


 David


 On Tue, Aug 17, 2010 at 15:57, Eric Schulte schulte.e...@gmail.com wrote:

 Hi David,

 It seems that the problem here is in the ascii package.  It is inserting
 an empty line at the beginning of your table, so that the table is not
 snugly sitting under the #+results foo tag, because of this the table
 isn't seen as results and is not replaced -- if you delete that space
 then re-run the code block you'll notice that the table is replaced.

 Org-mode is very capable of inserting tabular