Ess, emacs statistics manual

Embed Size (px)

Text of Ess, emacs statistics manual

  • ESS Emacs Speaks Statistics

    ESS version 15.09-devel

    The ESS Developers (A.J. Rossini, R.M. Heiberger, K. Hornik,M. Maechler, R.A. Sparapani, S.J. Eglen,S.P. Luque, H. Redestig and V. Spinu)Current Documentation by The ESS DevelopersCopyright c 20022014 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.

  • iTable of Contents

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

    1.1.1 Features Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 New features in ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Authors of and contributors to ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.4 Getting the latest version of ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    1.4.1 Git for ESS development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.5 How to read this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2 Installing ESS on your system . . . . . . . . . . . . . . . . 202.1 Step by step instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.3 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.4 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    3 Interacting with statistical programs . . . . . . . . 223.1 Starting an ESS process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2 Running more than one ESS process . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3 ESS processes on Remote Computers . . . . . . . . . . . . . . . . . . . . . . . . . . 223.4 S+elsewhere and ESS-elsewhere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.5 Changing the startup actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    4 Interacting with the ESS process . . . . . . . . . . . . 264.1 Entering commands and fixing mistakes . . . . . . . . . . . . . . . . . . . . . . . 264.2 Manipulating the transcript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    4.2.1 Manipulating the output from the last command . . . . . . . . . . 274.2.2 Viewing older commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2.3 Re-submitting commands from the transcript . . . . . . . . . . . . . 274.2.4 Keeping a record of your S session . . . . . . . . . . . . . . . . . . . . . . . . 28

    4.3 Command History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.3.1 Saving the command history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    4.4 References to historical commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.5 Hot keys for common commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.6 Is the Statistical Process running under ESS? . . . . . . . . . . . . . . . . . . 334.7 Using emacsclient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.8 Other commands provided by inferior-ESS . . . . . . . . . . . . . . . . . . . . . 33

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

    6 Manipulating saved transcript files . . . . . . . . . . 376.1 Resubmitting commands from the transcript file . . . . . . . . . . . . . . . 376.2 Cleaning transcript files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

  • ii

    7 Editing objects and functions . . . . . . . . . . . . . . . . 387.1 Creating or modifying S objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387.2 Loading source files into the ESS process . . . . . . . . . . . . . . . . . . . . . . 387.3 Detecting errors in source files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397.4 Indenting and formatting S code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    7.4.1 Changing indentation styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407.5 Commands for motion, completion and more . . . . . . . . . . . . . . . . . . 417.6 Maintaining S source files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417.7 Names and locations of dump files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    8 Reading help files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    9 Completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479.1 Completion of object names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479.2 Completion of function arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489.3 Minibuffer completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489.4 Integration with auto-complete package . . . . . . . . . . . . . . . . . . . . . . . . 489.5 Icicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    10 Developing with ESS . . . . . . . . . . . . . . . . . . . . . . . . . 5010.1 ESS tracebug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5010.2 Editing documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    10.2.1 Editing R documentation (Rd) files . . . . . . . . . . . . . . . . . . . . . . 5110.2.2 Editing Roxygen documentation . . . . . . . . . . . . . . . . . . . . . . . . . 53

    10.3 ESS developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    11 Other ESS features and tools . . . . . . . . . . . . . . . 5711.1 ElDoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5711.2 Handy commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5711.3 Syntactic highlighting of buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5811.4 Parenthesis matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5811.5 Using graphics with ESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    11.5.1 Using ESS with the printer() driver . . . . . . . . . . . . . . . . . . . 5911.5.2 Using ESS with windowing devices . . . . . . . . . . . . . . . . . . . . . . 5911.5.3 Java Graphics Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    11.6 Imenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5911.7 Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5911.8 TAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6011.9 Rdired . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6011.10 Rutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6111.11 Interaction with Org mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6211.12 Support for Sweave in ESS and AUCTeX . . . . . . . . . . . . . . . . . . . . 62

  • iii

    12 Overview of ESS features for the S family. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    12.1 ESS[S]Editing files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6312.2 iESS[S]Inferior ESS processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6312.3 ESS-helpassistance with viewing help . . . . . . . . . . . . . . . . . . . . . . . . 6512.4 Philosophies for using ESS[S] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6512.5 Scenarios for use (possibilitiesbased on actual usage) . . . . . . . . 6512.6 Customization Examples and Solutions to Problems . . . . . . . . . . 68

    13 ESS for SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6913.1 ESS[SAS]Design philosophy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6913.2 ESS[SAS]Editing files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6913.3 ESS[SAS]TAB key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7013.4 ESS[SAS]Batch SAS processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7013.5 ESS[SAS]Function keys for batch processing . . . . . . . . . . . . . . . . . 7213.6 iESS[SAS]Interactive SAS processes . . . . . . . . . . . . . . . . . . . . . . . . . 7513.7 iESS[SAS]Common problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7613.8 ESS[SAS]Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7713.9 ESS[SAS]Windows . . . . . . . . . . . . . . . . . . . . . . . . .