emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* R code not producing expected results
@ 2010-08-13  4:32 Blanchette, Marco
  2010-08-13  6:23 ` Thomas S. Dye
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Blanchette, Marco @ 2010-08-13  4:32 UTC (permalink / raw)
  To: emacs-orgmode@gnu.org

Dear all,

Sorry if this is something totally obvious but I am learning to use org-mode for my everyday work with R. I just installed the latest stable release of org-mode (v7.01g) on top of GNU Emacs 23.1.50.1 (x86_64-apple-darwin10.2.0, NS apple-appkit-1038.25). I also installed the CRAN ascii package v0.7 on top of R v2.11.1. I am currently working on a MacBook pro with Snow Leopard 10.6.4

Early on today, while reading the org-babel intro, I was able to run the following example but somehow, later tonight, it started to break and I spent the last few hours scratching my head to understand what change and why it now suddenly break. Your help will be greatly appreciated as I am discovering that org-mode in collaboration with org-babel have great potential to help us create more readable report of our daily analysis, as long as I can get through these early hurdles.

Here is the org buffer that now breaks:

* Two examples of R code that worked when I started the tutorial but suddenly started to fail...

** some R code that should generate a nice table
 #+BEGIN_SRC R
  library(ascii)
  options(asciiType="org")

  d <- as.data.frame(replicate(4,rnorm(100)))

  ascii(cor(d),include.rownames=T, include.colnames=T,header=T)
#+END_SRC

** Some code straight from [[http://orgmode.org/worg/org-contrib/babel/languages/org-babel-doc-R.php][org-babel]]
 #+BEGIN_SRC R
library(ascii)
options(asciiType="org")
ascii(summary(table(1:4, 1:4)))
#+END_SRC


With the following error recover from the *Org-Babel Error* buffer

Loading required package: proto
Error in as.data.frame.default(x[[i]], optional = TRUE) :
  cannot coerce class 'c("ascii", "proto", "environment")' into a data.frame
Calls: write.table ... data.frame -> as.data.frame -> as.data.frame.default
Execution halted

Thanks for the helps.
--
Marco Blanchette, Ph.D.
Assistant Investigator
Stowers Institute for Medical Research
1000 East 50th St.

Kansas City, MO 64110

Tel: 816-926-4071
Cell: 816-726-8419
Fax: 816-926-2018

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: R code not producing expected results
  2010-08-13  4:32 R code not producing expected results Blanchette, Marco
@ 2010-08-13  6:23 ` Thomas S. Dye
  2010-08-13  6:57 ` Charles C. Berry
       [not found] ` <1668ca$1opjg@mail.curie.net>
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas S. Dye @ 2010-08-13  6:23 UTC (permalink / raw)
  To: Blanchette, Marco; +Cc: emacs-orgmode@gnu.org

Aloha Marco,

Here is the code behind the Worg page:

#+begin_src R :results output org
   library(ascii)
   options(asciiType="org")
   ascii(summary(table(1:4, 1:4)))
#+end_src

This works here.

The key seems to be the header argument :results output

#+BEGIN_SRC R :results output
  library(ascii)
  options(asciiType="org")

  d <- as.data.frame(replicate(4,rnorm(100)))

  ascii(cor(d),include.rownames=T, include.colnames=T,header=T)
#+END_SRC

#+results:
#+begin_example

    Welcome to R!

|----+------+-------+-------+-------+
|    | V1   | V2    | V3    | V4    |
|----+------+-------+-------+-------+
| V1 | 1.00 | 0.09  | 0.09  | 0.13  |
| V2 | 0.09 | 1.00  | -0.00 | -0.13 |
| V3 | 0.09 | -0.00 | 1.00  | 0.18  |
| V4 | 0.13 | -0.13 | 0.18  | 1.00  |
|----+------+-------+-------+-------+
#+end_example

With it added to your other example, it does indeed generate a nice  
table.

I think you are absolutely right about org-mode's babel capabilities  
helping with your R work.  I can't imagine a better environment for  
working in R.

Good luck with your work.

All the best,
Tom

On Aug 12, 2010, at 6:32 PM, Blanchette, Marco wrote:

> Dear all,
>
> Sorry if this is something totally obvious but I am learning to use  
> org-mode for my everyday work with R. I just installed the latest  
> stable release of org-mode (v7.01g) on top of GNU Emacs 23.1.50.1  
> (x86_64-apple-darwin10.2.0, NS apple-appkit-1038.25). I also  
> installed the CRAN ascii package v0.7 on top of R v2.11.1. I am  
> currently working on a MacBook pro with Snow Leopard 10.6.4
>
> Early on today, while reading the org-babel intro, I was able to run  
> the following example but somehow, later tonight, it started to  
> break and I spent the last few hours scratching my head to  
> understand what change and why it now suddenly break. Your help will  
> be greatly appreciated as I am discovering that org-mode in  
> collaboration with org-babel have great potential to help us create  
> more readable report of our daily analysis, as long as I can get  
> through these early hurdles.
>
> Here is the org buffer that now breaks:
>
> * Two examples of R code that worked when I started the tutorial but  
> suddenly started to fail...
>
> ** some R code that should generate a nice table
> #+BEGIN_SRC R
>  library(ascii)
>  options(asciiType="org")
>
>  d <- as.data.frame(replicate(4,rnorm(100)))
>
>  ascii(cor(d),include.rownames=T, include.colnames=T,header=T)
> #+END_SRC
>
> ** Some code straight from [[http://orgmode.org/worg/org-contrib/babel/languages/org-babel-doc-R.php 
> ][org-babel]]
> #+BEGIN_SRC R
> library(ascii)
> options(asciiType="org")
> ascii(summary(table(1:4, 1:4)))
> #+END_SRC
>
>
> With the following error recover from the *Org-Babel Error* buffer
>
> Loading required package: proto
> Error in as.data.frame.default(x[[i]], optional = TRUE) :
>  cannot coerce class 'c("ascii", "proto", "environment")' into a  
> data.frame
> Calls: write.table ... data.frame -> as.data.frame ->  
> as.data.frame.default
> Execution halted
>
> Thanks for the helps.
> --
> Marco Blanchette, Ph.D.
> Assistant Investigator
> Stowers Institute for Medical Research
> 1000 East 50th St.
>
> Kansas City, MO 64110
>
> Tel: 816-926-4071
> Cell: 816-726-8419
> Fax: 816-926-2018
>
> _______________________________________________
> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: R code not producing expected results
  2010-08-13  4:32 R code not producing expected results Blanchette, Marco
  2010-08-13  6:23 ` Thomas S. Dye
@ 2010-08-13  6:57 ` Charles C. Berry
       [not found] ` <1668ca$1opjg@mail.curie.net>
  2 siblings, 0 replies; 4+ messages in thread
From: Charles C. Berry @ 2010-08-13  6:57 UTC (permalink / raw)
  To: Blanchette, Marco; +Cc: emacs-orgmode@gnu.org

On Thu, 12 Aug 2010, Blanchette, Marco wrote:

> Dear all,
>

> Sorry if this is something totally obvious but I am learning to use
   org-mode for my everyday work with R. I just installed the latest
   stable release of org-mode (v7.01g) on top of GNU Emacs 23.1.50.1
   (x86_64-apple-darwin10.2.0, NS apple-appkit-1038.25). I also
   installed the CRAN ascii package v0.7 on top of R v2.11.1. I am
   currently working on a MacBook pro with Snow Leopard 10.6.4

>

> Early on today, while reading the org-babel intro, I was able to run
   the following example but somehow, later tonight, it started to
   break and I spent the last few hours scratching my head to
   understand what change and why it now suddenly break. Your help will
   be greatly appreciated as I am discovering that org-mode in
   collaboration with org-babel have great potential to help us create
   more readable report of our daily analysis, as long as I can get
   through these early hurdles.

The code you say is "straight from ...org-babel-doc-R.php" is not quite.

Note all the header args:

 	#+begin_src R :results output code :session ascii

Also note that ascii() does not return an object of class "matrix" or 
"data.frame". Try str(ascii( < all the rest > )).

With :results value (the default) you will get a different outcome as
you saw below.

'value' tries to be smart about what it does with .Last.value, but "ascii" 
objects are a bit too tricky for it.

'output' on the other hand is pretty simple on the elisp side and 
relies on R's print() to get the dispatch for the print method right.

If you want to use ':results value' you will need to form a data.frame 
from ascii() yourself, rather than rely on as.data.frame to find a method 
to do the conversion. Or you will need to write a method for 
as.data.frame.ascii.

HTH,

Chuck


>
> Here is the org buffer that now breaks:
>
> * Two examples of R code that worked when I started the tutorial but suddenly started to fail...
>
> ** some R code that should generate a nice table
> #+BEGIN_SRC R
>  library(ascii)
>  options(asciiType="org")
>
>  d <- as.data.frame(replicate(4,rnorm(100)))
>
>  ascii(cor(d),include.rownames=T, include.colnames=T,header=T)
> #+END_SRC
>
> ** Some code straight from [[http://orgmode.org/worg/org-contrib/babel/languages/org-babel-doc-R.php][org-babel]]
> #+BEGIN_SRC R
> library(ascii)
> options(asciiType="org")
> ascii(summary(table(1:4, 1:4)))
> #+END_SRC
>
>
> With the following error recover from the *Org-Babel Error* buffer
>
> Loading required package: proto
> Error in as.data.frame.default(x[[i]], optional = TRUE) :
>  cannot coerce class 'c("ascii", "proto", "environment")' into a data.frame
> Calls: write.table ... data.frame -> as.data.frame -> as.data.frame.default
> Execution halted
>
> Thanks for the helps.
> --
> Marco Blanchette, Ph.D.
> Assistant Investigator
> Stowers Institute for Medical Research
> 1000 East 50th St.
>
> Kansas City, MO 64110
>
> Tel: 816-926-4071
> Cell: 816-726-8419
> Fax: 816-926-2018
>
> _______________________________________________
> 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
>

Charles C. Berry                            (858) 534-2098
                                             Dept of Family/Preventive Medicine
E mailto:cberry@tajo.ucsd.edu	            UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: R code not producing expected results
       [not found] ` <1668ca$1opjg@mail.curie.net>
@ 2010-08-13  8:19   ` David Hajage
  0 siblings, 0 replies; 4+ messages in thread
From: David Hajage @ 2010-08-13  8:19 UTC (permalink / raw)
  To: Charles C. Berry; +Cc: Blanchette, Marco, emacs-orgmode@gnu.org

I think you need to add 'results output org' to the header.
Do not try to convert ascii objects into data.frame, ascii() just
print several classes or R objects with org markup. Not all R objects
are supported, see methods(ascii).

Some examples here:

http://orgmode.org/worg/org-contrib/babel/examples/ascii.php

The source code here:
http://repo.or.cz/w/Worg.git/blob_plain/HEAD:/org-contrib/babel/examples/ascii.org

Best
David

Le 13 août 2010 à 08:57, "Charles C. Berry" <cberry@tajo.ucsd.edu> a écrit :

> On Thu, 12 Aug 2010, Blanchette, Marco wrote:
>
>> Dear all,
>>
>
>> Sorry if this is something totally obvious but I am learning to use
>  org-mode for my everyday work with R. I just installed the latest
>  stable release of org-mode (v7.01g) on top of GNU Emacs 23.1.50.1
>  (x86_64-apple-darwin10.2.0, NS apple-appkit-1038.25). I also
>  installed the CRAN ascii package v0.7 on top of R v2.11.1. I am
>  currently working on a MacBook pro with Snow Leopard 10.6.4
>
>>
>
>> Early on today, while reading the org-babel intro, I was able to run
>  the following example but somehow, later tonight, it started to
>  break and I spent the last few hours scratching my head to
>  understand what change and why it now suddenly break. Your help will
>  be greatly appreciated as I am discovering that org-mode in
>  collaboration with org-babel have great potential to help us create
>  more readable report of our daily analysis, as long as I can get
>  through these early hurdles.
>
> The code you say is "straight from ...org-babel-doc-R.php" is not quite.
>
> Note all the header args:
>
>    #+begin_src R :results output code :session ascii
>
> Also note that ascii() does not return an object of class "matrix" or "data.frame". Try str(ascii( < all the rest > )).
>
> With :results value (the default) you will get a different outcome as
> you saw below.
>
> 'value' tries to be smart about what it does with .Last.value, but "ascii" objects are a bit too tricky for it.
>
> 'output' on the other hand is pretty simple on the elisp side and relies on R's print() to get the dispatch for the print method right.
>
> If you want to use ':results value' you will need to form a data.frame from ascii() yourself, rather than rely on as.data.frame to find a method to do the conversion. Or you will need to write a method for as.data.frame.ascii.
>
> HTH,
>
> Chuck
>
>
>>
>> Here is the org buffer that now breaks:
>>
>> * Two examples of R code that worked when I started the tutorial but suddenly started to fail...
>>
>> ** some R code that should generate a nice table
>> #+BEGIN_SRC R
>> library(ascii)
>> options(asciiType="org")
>>
>> d <- as.data.frame(replicate(4,rnorm(100)))
>>
>> ascii(cor(d),include.rownames=T, include.colnames=T,header=T)
>> #+END_SRC
>>
>> ** Some code straight from [[http://orgmode.org/worg/org-contrib/babel/languages/org-babel-doc-R.php][org-babel]]
>> #+BEGIN_SRC R
>> library(ascii)
>> options(asciiType="org")
>> ascii(summary(table(1:4, 1:4)))
>> #+END_SRC
>>
>>
>> With the following error recover from the *Org-Babel Error* buffer
>>
>> Loading required package: proto
>> Error in as.data.frame.default(x[[i]], optional = TRUE) :
>> cannot coerce class 'c("ascii", "proto", "environment")' into a data.frame
>> Calls: write.table ... data.frame -> as.data.frame -> as.data.frame.default
>> Execution halted
>>
>> Thanks for the helps.
>> --
>> Marco Blanchette, Ph.D.
>> Assistant Investigator
>> Stowers Institute for Medical Research
>> 1000 East 50th St.
>>
>> Kansas City, MO 64110
>>
>> Tel: 816-926-4071
>> Cell: 816-726-8419
>> Fax: 816-926-2018
>>
>> _______________________________________________
>> 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
>>
>
> Charles C. Berry                            (858) 534-2098
>                                            Dept of Family/Preventive Medicine
> E mailto:cberry@tajo.ucsd.edu                UC San Diego
> http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901
>
>
>
> _______________________________________________
> 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
>
> L'intégrité de ce message n'étant pas assurée sur Internet, l'Institut Curie ne peut être tenu responsable de son contenu.
> Si vous n'êtes pas destinataire de ce message confidentiel, merci de le détruire et d'avertir immédiatement l'expéditeur.
> Afin de contribuer au respect de l'environnement, merci de n'imprimer ce mail qu'en cas de nécessité.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-08-13  8:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-13  4:32 R code not producing expected results Blanchette, Marco
2010-08-13  6:23 ` Thomas S. Dye
2010-08-13  6:57 ` Charles C. Berry
     [not found] ` <1668ca$1opjg@mail.curie.net>
2010-08-13  8:19   ` David Hajage

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).