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" <cbe...@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:cbe...@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é. _______________________________________________ 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