[R] A hint to start ESS-xemacs

Dirk Eddelbuettel edd at debian.org
Sun Dec 7 15:27:46 CET 2003


On Sun, Dec 07, 2003 at 08:38:17AM +0100, v.demart at libero.it wrote:
> I'm trying to use ESS & xemacs under debian linux testing and KDE.
> 
> My problem is that I didn't find any document in the internet explaining a
> **step by step** session with R and xemacs.

I think what you are looking for is probably contained in one or more files
of the ESS source distribution. The Debian package I use comes with a host
of documents:

   edd at chibud:/usr/share/doc/ess> ls
   ChangeLog.gz          README.elsewhere           changelog.gz
   ESS_intro.tex.gz      README.gz                  copyright
   NEWS.gz               README.noweb.ESS           ess.dvi.gz
   README.S.gz           TODO.gz                    html
   README.SAS.gz         Why_R_mode_not_S_mode.txt  readme.dvi.gz
   README.SPLUS4COMMAND  Why_S-mode_Rocks.DMS       rmh-talk.tex.gz
   README.XLispStat.gz   ajr-talk.tex.gz            slverb.sty
   README.additions      changelog.Debian.gz

which your installation of ESS may or may not carry too.

For example, README.S contains the section below which I found useful. It
talsk more about S/S-PLUS than R but these days most things can be expected
to carry over.

Last but not least, are you aware that ESS comes with an extensive manual?

Hth,  Dirk


   [...]
   Scenarios for use
   =================
   
   We present some basic suggestions for using ESS to interact with S.
   These are just a subset of approaches, many better approaches are
   possible.  Contributions of examples of how you work with ESS are
   appreciated (especially since it helps us determine priorities on
   future enhancements)! (comments as to what should be happening are
   prefixed by "##").
   
   1:  ##    Data Analysis Example (source code is real)
       ## Load the file you want to work with
       C-x C-f myfile.s
   
       ## Edit as appropriate, and then start up S-PLUS 3.x
       M-x S+3
   
       ## A new buffer *S+3:1* will appear.  Splus will have been started
       ## in this buffer.  The buffer is in iESS [S+3:1] mode.
   
       ## Split the screen and go back to the file editing buffer.
       C-x 2 C-x b myfile.s
   
       ## Send regions, lines, or the entire file contents to S-PLUS.  For regions,
       ## highlight a region with keystrokes or mouse and then send with:
       C-c C-r
   
       ## Re-edit myfile.s as necessary to correct any difficulties.  Add
       ## new commands here.  Send them to S by region with C-c C-r, or
       ## one line at a time with C-c C-n.
   
       ## Save the revised myfile.s with C-x C-s.
   
       ## Save the entire *S+3:1* interaction buffer with C-c C-s.  You
       ## will be prompted for a file name.  The recommended name is
       ## myfile.St.  With the *.St suffix, the file will come up in ESS
       ## Transcript mode the next time it is accessed from Emacs.
   
   
   
   2:  ## Program revision example (source code is real)
   
       ## Start up S-PLUS 3.x in a process buffer (this will be *S+3:1*) 
       M-x S+3
   
       ## Load the file you want to work with
       C-x C-f myfile.s
       
       ## edit program, functions, and code in myfile.s, and send revised
       ## functions to S when ready with
       C-c C-f
       ## or highlighted regions with
       C-c C-r
       ## or individual lines with
       C-c C-n
       ## or load the entire buffer with 
       C-c C-l
   
       ## save the revised myfile.s when you have finished
       C-c C-s
   
   
   
   3:  ## Program revision example (S object is real)
   
       ## Start up S-PLUS 3.x in a process buffer (this will be *S+3:1*) 
       M-x S+3
   
       ## Dump an existing S object my.function into a buffer to work with
       C-c C-d my.function
       ## a new buffer named yourloginname.my.function.S will be created with
       ## an editable copy of the object.  The buffer is associated with the
       ## pathname /tmp/yourloginname.my.function.S and will amlost certainly not
       ## exist after you log off.
   
       ## enter program, functions, and code into work buffer, and send
       ## entire contents to S-PLUS when ready
       C-c C-b
   
       ## Go to *S+3:1* buffer, which is the process buffer, and examine
       ## the results.
       C-c C-y
       ## The sequence C-c C-y is a shortcut for:  C-x b *S+3:1*
   
       ## Return to the work buffer (may/may not be prefixed)
       C-x C-b yourloginname.my.function.S
       ## Fix the function that didn't work, and resubmit by placing the
       ## cursor somewhere in the function and
       C-c C-f
       ## Or you could've selected a region (using the mouse, or keyboard 
       ## via setting point/mark) and 
       C-c C-r
       ## Or you could step through, line by line, using 
       C-c C-n
       ## Or just send a single line (without moving to the next) using
       C-c C-j
       ## To fix that error in syntax for the "rchisq" command, get help
       ## by
       C-c C-v rchisq
   
   
   4:    Data Analysis (S object is real)
       ## Start up S-PLUS 3.x, in a process buffer (this will be *S+3:1*) 
       M-x S+3
   
       ## Work in the process buffer.  When you find an object that needs 
       ## to be changed (this could be a data frame, or a variable, or a 
       ## function), dump it to a buffer:
       C-c C-d my.cool.function
   
       ## Edit the function as appropriate, and dump back in to the
       ## process buffer  
       C-c C-b
   
       ## Return to the S-PLUS process buffer
       C-c C-y
       ## Continue working.
   
       ## When you need help, use 
       C-c C-v rchisq
       ## instead of entering:   help("rchisq")
   
   
   
   Customization Examples and Solutions to Problems
   ================================================
   
   1. Suppose that you are primarily an SPLUS 3.4 user, occasionally
      using S version 4, and sick and tired of the buffer-name *S+3*
      we've stuck you with.  Simply edit the "ess-dialect" alist entry in 
      the essd-s+3.el and essd-s4.el files to be "S" instead of "S4" and
      "S+3".  This will insure that all the inferior process buffer names 
      are "*S*".
   
   2. Suppose that you WANT to have the first buffer name indexed by
      ":1", in the same manner as your S-PLUS processes 2,3,4, and 5 (for
      you heavy simulation people).  Then uncomment the line in ess-site
      (or add after your (require 'ess-site) or (load "ess-site") command 
       in your .emacs file, the line:
          
          (setq ess-plain-first-buffername nil)
      )
   
   3. Fontlocking sometimes fails to behave nicely upon errors.  When
      Splus dumps, a mis-matched "  (double-quote) can result in the
      wrong font-lock face being used for the remainder of the buffer.  
   
      Solution: add a " at the end of the "Dumped..." statement, to
      revert the font-lock face back to normal.


-- 
Those are my principles, and if you don't like them... well, I have others.
                                                -- Groucho Marx




More information about the R-help mailing list