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: Charles C. Berry
Subject: Re: [Orgmode] R code not producing expected results
Date: Thu, 12 Aug 2010 23:57:20 -0700

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





reply via email to

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