1、Table of Contents Preface ............................................................. 1 1 Introduction and preliminaries ............................... 2 1.1 The R environment................................................................ 2 1.2 Related software and documentation..........
2、 2 1.3 R and statistics.................................................................... 2 1.4 R and the window system ......................................................... 3 1.5 Using R interactively .................................................
3、 3 1.6 An introductory session............................................................ 4 1.7 Getting help with functions and features........................................... 4 1.8 R commands, case sensitivity, etc. ................................................. 4 1.9 R
4、ecall and correction of previous commands ....................................... 5 1.10 Executing commands from or diverting output to a file............................ 5 1.11 Data permanency and removing objects........................................... 5 2 Simple manipulations; numbers an
5、d vectors................. 7 2.1 Vectors and assignment............................................................ 7 2.2 Vector arithmetic.................................................................. 7 2.3 Generating regular sequences .....................................................
6、 8 2.4 Logical vectors .................................................................... 9 2.5 Missing values..................................................................... 9 2.6 Character vectors ................................................................ 10 2.7 Index vectors
7、 selecting and modifying subsets of a data set ....................... 10 2.8 Other types of objects............................................................ 11 3 Objects, their modes and attributes ........................ 13 3.1 Intrinsic attributes: mode and length .....................
8、 13 3.2 Changing the length of an object ................................................. 14 3.3 Getting and setting attributes .................................................... 14 3.4 The class of an object ..........................................................
9、 14 4 Ordered and unordered factors.............................. 16 4.1 A specific example................................................................ 16 4.2 The function tapply() and ragged arrays......................................... 16 4.3 Ordered factors .......................
10、 17 5 Arrays and matrices ......................................... 18 5.1 Arrays ........................................................................... 18 5.2 Array indexing. Subsections of an array .......................................... 18
11、 5.3 Index matrices ................................................................... 19 5.4 The array() function ............................................................ 20 5.4.1 Mixed vector and array arithmetic. The recycling rule........................ 20 5.5 The outer product of t
12、wo arrays .................................................. 21 5.6 Generalized transpose of an array................................................. 21 5.7 Matrix facilities .................................................................. 22 5.7.1 Matrix multiplication.....................
13、 22 ii 5.7.2 Linear equations and inversion............................................... 22 5.7.3 Eigenvalues and eigenvectors................................................. 23 5.7.4 Singular value decomposition and determinants .........................
14、 23 5.7.5 Least squares fitting and the QR decomposition.............................. 23 5.8 Forming partitioned matrices, cbind() and rbind().............................. 24 5.9 The concatenation function, c(), with arrays ..................................... 24 5.10 Frequency table
15、s from factors.................................................... 25 6 Lists and data frames ........................................ 26 6.1 Lists ............................................................................. 26 6.2 Constructing and modifying lists ............................
16、 26 6.2.1 Concatenating lists .......................................................... 27 6.3 Data frames...................................................................... 27 6.3.1 Making data frames ......................................................... 27 6.3.2
17、 attach() and detach() ..................................................... 28 6.3.3 Working with data frames ................................................... 28 6.3.4 Attaching arbitrary lists ..................................................... 28 6.3.5 Managing the search path .......
18、 29 7 Reading data from files ...................................... 30 7.1 The read.table() function ...................................................... 30 7.2 The scan() function ............................................................. 31
19、7.3 Accessing builtin datasets ........................................................ 31 7.3.1 Loading data from other R packages ......................................... 31 7.4 Editing data ..................................................................... 32 8 Probability distribution
20、s..................................... 33 8.1 R as a set of statistical tables..................................................... 33 8.2 Examining the distribution of a set of data ....................................... 34 8.3 One- and two-sample tests.......................................
21、 36 9 Grouping, loops and conditional execution................. 40 9.1 Grouped expressions.............................................................. 40 9.2 Control statements ............................................................... 40 9.2.1 Conditional execution:
22、 if statements ........................................ 40 9.2.2 Repetitive execution: for loops, repeat and while .......................... 40 10 Writing your own functions ................................ 42 10.1 Simple examples ..............................................................
23、 42 10.2 Defining new binary operators................................................... 43 10.3 Named arguments and defaults .................................................. 43 10.4 The ‘...’ argument ............................................................. 44 10.5 Assignments wit
24、hin functions.................................................... 44 10.6 More advanced examples ........................................................ 44 10.6.1 Efficiency factors in block designs........................................... 44 10.6.2 Dropping all names in a printed array ...
25、 45 10.6.3 Recursive numerical integration............................................. 45 10.7 Scope ........................................................................... 46 10.8 Customizing the environment..............................................
26、 48 10.9 Classes, generic functions and object orientation ................................. 49 iii 11 Statistical models in R ..................................... 51 11.1 Defining statistical models; formulae............................................. 51 11.1.1 Contrasts .........
27、 53 11.2 Linear models................................................................... 54 11.3 Generic functions for extracting model information .............................. 54 11.4 Analysis of variance and model comparison .......
28、 55 11.4.1 ANOVA tables ............................................................. 55 11.5 Updating fitted models.......................................................... 55 11.6 Generalized linear models ......................................................
29、 56 11.6.1 Families.................................................................... 57 11.6.2 The glm() function......................................................... 57 11.7 Nonlinear least squares and maximum likelihood models ......................... 59 11.7.1 Least squares......
30、 59 11.7.2 Maximum likelihood........................................................ 60 11.8 Some non-standard models ...................................................... 61 12 Graphical procedures.....................................
31、 63 12.1 High-level plotting commands ................................................... 63 12.1.1 The plot() function ....................................................... 63 12.1.2 Displaying multivariate data................................................ 64 12.1.3 Display graphics.
32、 64 12.1.4 Arguments to high-level plotting functions .................................. 65 12.2 Low-level plotting commands.................................................... 66 12.2.1 Mathematical annotation.........................
33、 67 12.2.2 Hershey vector fonts........................................................ 67 12.3 Interacting with graphics........................................................ 67 12.4 Using graphics parameters....................................................... 6
34、8 12.4.1 Permanent changes: The par() function.................................... 68 12.4.2 Temporary changes: Arguments to graphics functions ....................... 69 12.5 Graphics parameters list......................................................... 69 12.5.1 Graphical elements .....
35、 70 12.5.2 Axes and tick marks........................................................ 71 12.5.3 Figure margins ............................................................. 71 12.5.4 Multiple figure environment ..............................
36、 73 12.6 Device drivers................................................................... 74 12.6.1 PostScript diagrams for typeset documents ................................. 74 12.6.2 Multiple graphics devices ................................................... 75 12.7 D
37、ynamic graphics ............................................................... 76 13 Packages ..................................................... 77 13.1 Standard packages .............................................................. 77 13.2 Contributed packages and CRAN ..................
38、 77 13.3 Namespaces..................................................................... 77 14 OS facilities.................................................. 79 14.1 Files and directories............................................................. 79 14.2 File
39、paths........................................................................ 79 14.3 System commands .............................................................. 80 14.4 Compression and Archives....................................................... 80 Appendix A A sample session ..........
40、 82 iv Appendix B Invoking R....................................... 85 B.1 Invoking R from the command line............................................... 85 B.2 Invoking R under Windows ...................................................... 89 B.3 Invoking R under OS
41、X.......................................................... 90 B.4 Scripting with R................................................................. 90 Appendix C The command-line editor....................... 92 C.1 Preliminaries ...............................................................
42、 92 C.2 Editing actions .................................................................. 92 C.3 Command-line editor summary................................................... 92 Appendix D Function and variable index .................... 94 Appendix E Concept index ...................
43、 95 Appendix F References ....................................... 96 Preface 1 Preface This introduction to R is derived from an original set of notes describing the S and S-Plus environments written in 1990–2 by Bill Venables and David M. Smith when at the University of Adel
44、aide. We have made a number of small changes to reflect differences between the R and S programs, and expanded some of the material. We would like to extend warm thanks to Bill Venables (and David Smith) for granting permission to distribute this modified version of the notes in this way, and for
45、 being a supporter of R from way back. Comments and corrections are always welcome. Please address email correspondence to R-core@R-project.org. Suggestions to the reader Most R novices will start with the introductory session in Appendix A. This should give some familiarity with the style of
46、R sessions and more importantly some instant feedback on what actually happens. Many users will come to R mainly for its graphical facilities. See Chapter 12 [Graphics], page 63, which can be read at almost any time and need not wait until all the preceding sections have been digested. Chapter
47、1: Introduction and preliminaries 2 1 Introduction and preliminaries 1.1 The R environment R is an integrated suite of software facilities for data manipulation, calculation and graphical display. Among other things it has • an effective data handling and storage facility, • a suite of operat
48、ors for calculations on arrays, in particular matrices, • a large, coherent, integrated collection of intermediate tools for data analysis, • graphical facilities for data analysis and display either directly at the computer or on hard- copy, and • a well developed, simple and effective programm
49、ing language (called ‘S’) which includes conditionals, loops, user defined recursive functions and input and output facilities. (Indeed most of the system supplied functions are themselves written in the S language.) The term “environment” is intended to characterize it as a fully planned and coh
50、erent system, rather than an incremental accretion of very specific and inflexible tools, as is frequently the case with other data analysis software. R is very much a vehicle for newly developing methods of interactive data analysis. It has developed rapidly, and has been extended by a large co






