emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] R code not producing expected results


From: David Hajage
Subject: Re: [Orgmode] R code not producing expected results
Date: Fri, 13 Aug 2010 10:19:30 +0200

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" <address@hidden> 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.
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>
>
> Charles C. Berry                            (858) 534-2098
>                                            Dept of Family/Preventive Medicine
> E mailto:address@hidden                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.
> address@hidden
> 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é.



reply via email to

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