ESS – Emacs Speaks Statisticsess.r- 7 Editing objects and functions::::: 39 7.1 Creating or modifying S objects ::::: 39 7.2 Loading source files into the ESS process

  • View
    215

  • Download
    1

Embed Size (px)

Transcript

  • ESS Emacs Speaks Statistics

    ESS version 17.11

    The ESS Developers (A.J. Rossini, R.M. Heiberger, K. Hornik,M. Maechler, R.A. Sparapani, S.J. Eglen,S.P. Luque, H. Redestig, V. Spinu and L. Henry)Current Documentation by The ESS DevelopersCopyright c 20022018 The ESS DevelopersCopyright c 19962001 A.J. RossiniOriginal Documentation by David M. SmithCopyright c 19921995 David M. SmithPermission is granted to make and distribute verbatim copies of thismanual provided the copyright notice and this permission notice arepreserved on all copies.Permission is granted to copy and distribute modified versions of thismanual under the conditions for verbatim copying, provided that theentire resulting derived work is distributed under the terms of apermission notice identical to this one.

  • i

    Table of Contents

    1 Introduction to ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Why should I use ESS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.1 Features Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 New features in ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Authors of and contributors to ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4 How to read this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2 Installing ESS on your system . . . . . . . . . . . . . . . . . . 92.1 Getting the latest version of ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.1.1 Source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.2 Git for ESS development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.3 Packaged ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.2 Installation instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.1 Packaged ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.2 From source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.3 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3 Interacting with statistical programs . . . . . . . . . 123.1 Starting an ESS process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Running more than one ESS process . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3 ESS processes on Remote Computers . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    3.3.1 ESS and TRAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3.2 ESS-remote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    3.4 Changing the startup actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    4 Interacting with the ESS process . . . . . . . . . . . . . 154.1 Entering commands and fixing mistakes . . . . . . . . . . . . . . . . . . . . . . . . 154.2 Manipulating the transcript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    4.2.1 Manipulating the output from the last command . . . . . . . . . . 164.2.2 Viewing older commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.2.3 Re-submitting commands from the transcript . . . . . . . . . . . . . 164.2.4 Keeping a record of your R session . . . . . . . . . . . . . . . . . . . . . . . . 17

    4.3 Command History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.3.1 Saving the command history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    4.4 References to historical commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.5 Hot keys for common commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.6 Is the Statistical Process running under ESS? . . . . . . . . . . . . . . . . . . 224.7 Using emacsclient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.8 Other commands provided by inferior-ESS . . . . . . . . . . . . . . . . . . . . . 22

  • ii

    5 Sending code to the ESS process . . . . . . . . . . . . . 24

    6 Manipulating saved transcript files . . . . . . . . . . . 266.1 Resubmitting commands from the transcript file . . . . . . . . . . . . . . . 266.2 Cleaning transcript files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    7 Editing objects and functions . . . . . . . . . . . . . . . . . 277.1 Creating or modifying R objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277.2 Loading source files into the ESS process . . . . . . . . . . . . . . . . . . . . . . . 277.3 Detecting errors in source files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287.4 Indenting and formatting R code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    7.4.1 Changing styles for code indentation and alignment . . . . . . . 297.5 Commands for motion, completion and more . . . . . . . . . . . . . . . . . . . 307.6 Maintaining R source files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307.7 Names and locations of dump files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    8 Reading help files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    9 Completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369.1 Completion of object names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369.2 Completion of function arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369.3 Minibuffer completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379.4 Integration with auto-complete package . . . . . . . . . . . . . . . . . . . . . . . . 379.5 Company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379.6 Icicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    10 Developing with ESS . . . . . . . . . . . . . . . . . . . . . . . . . 3910.1 ESS tracebug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3910.2 Editing documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    10.2.1 Editing R documentation (Rd) files . . . . . . . . . . . . . . . . . . . . . . 4010.2.2 Editing Roxygen documentation . . . . . . . . . . . . . . . . . . . . . . . . . 42

    10.3 Namespaced Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    11 Other ESS features and tools . . . . . . . . . . . . . . . . 4511.1 ElDoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4511.2 Flymake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4511.3 Handy commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4611.4 Syntactic highlighting of buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4611.5 Parenthesis matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4711.6 Using graphics with ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    11.6.1 Using ESS with the printer() driver . . . . . . . . . . . . . . . . . . . . 4711.6.2 Using ESS with windowing devices . . . . . . . . . . . . . . . . . . . . . . . 4711.6.3 Java Graphics Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    11.7 Imenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4811.8 Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

  • iii

    11.9 Xref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4811.10 Rdired . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4811.11 Rutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4911.12 Interaction with Org mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5011.13 Support for Sweave in ESS and AUCTeX . . . . . . . . . . . . . . . . . . . . 50

    12 Overview of ESS features for the S family . . 5212.1 ESS[R]Editing files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5212.2 iESS[R]Inferior ESS processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5212.3 Philosophies for using ESS[R] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5312.4 Example ESS usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    13 ESS for SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5613.1 ESS[SAS]Design philosophy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5613.2 ESS[SAS]Editing files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .