[Top][All Lists]
[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é.