On Tue, Jan 12, 2010 at 11:13 PM, Dan Davison wrote:
[snip:  snipped (43 lines)]
>
> The org-babel default is to invoke R as an external shell command, and I
> think this is what is causing the problem. It requires that the emacs
> function shell-command can use the string "R" to invoke an R process,
> i.e. the R installation and the shell path must be such that this is the
> case.
>
> Seeing as you have ESS installed, how about using session-based
> evaluation? This means that org-babel uses an interactive R session
> running under the control of ESS. In general it is a better way to work
> with R in org-babel. It is described in the section "Session-based
> Evaluation" in
>
> http://orgmode.org/worg/org-contrib/babel/intro.php
>
> and also in the reference manual:
>
> http://orgmode.org/worg/org-contrib/babel/reference.php#header-argument-session
>
> basically you just set the :session header argument, e.g.
>
> #+srcname:trial
> #+begin_src R :session org-babel-R-session
>   c(4,5,6,7,8,9)
> #+end_src
>

Thanks for the advice regarding using sessions.  It works now.  But I
have something interesting to report.

With following test org file, evaluation of R block fails to produce
desired results.  If the lines with "require" are removed, the
evaluation works fine.  R session buffer contents are pasted below as
well just in case they are of any help.

--8<---------------cut here---------------start------------->8---
* Test

Here's how to set it up.

(require 'org_babel_init)
(require 'org_babel_R)
(org_babel_load_library_of_babel)

#+srcname: strings
#+begin_src R :colnames t :session org-babel-R-strings
  t(sort(table(tolower(scan("~/personal/test-org-babel.org", what="",
na.strings="|"))), decreasing=TRUE)[1:10])
#+end_src

#+results: strings
--8<---------------cut here---------------end--------------->8---


--8<---------------cut here---------------start------------->8---
R version 2.10.0 (2009-10-26)
Copyright (C) 2009 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> options(chmhelp = FALSE)
> options(STERM='iESS', editor='gnuclient.exe')
>
t(sort(table(tolower(scan("~/personal/test-org-babel.org", what="",
na.strings="|"))), decreasing=TRUE)[1:10])
write.table(.Last.value, file="d:/home/zms/tmp/org-babel-R1752nPK",
sep="\t", na="nil",row.names=FALSE, col.names=TRUE, quote=FALSE)
'org_babel_R_eoe'

> t(sort(table(tolower(scan("~/personal/test-org-babel.org", what="", 
> na.strings="|"))), decreasing=TRUE)[1:10])
Read 27 items

       strings #+begin_src #+end_src #+results: #+srcname:
  [1,]       2           1         1          1          1

       (org_babel_load_library_of_babel) (require * :colnames :session
  [1,]                                 1        1 1         1        1
> write.table(.Last.value, file="d:/home/zms/tmp/org-babel-R1752nPK", sep="\t", 
> na="nil",row.names=FALSE, col.names=TRUE, quote=FALSE)
> 'org_babel_R_eoe'
[1] "org_babel_R_eoe"
>
--8<---------------cut here---------------end--------------->8---

Thank you
-- 
Manish


_______________________________________________
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

Reply via email to