1.Stay in Touch!
2.Preface
3.History and Overview of R
- 3.1What is R?
- 3.2What is S?
- 3.3The S Philosophy
- 3.4Back to R
- 3.5Basic Features of R
- 3.6Free Software
- 3.7Design of the R System
- 3.8Limitations of R
- 3.9R Resources
4.Getting Started with R
- 4.1Installation
- 4.2Getting started with the R interface
5.R Nuts and Bolts
- 5.1Entering Input
- 5.2Evaluation
- 5.3R Objects
- 5.4Numbers
- 5.5Attributes
- 5.6Creating Vectors
- 5.7Mixing Objects
- 5.8Explicit Coercion
- 5.9Matrices
- 5.10Lists
- 5.11Factors
- 5.12Missing Values
- 5.13Data Frames
- 5.14Names
- 5.15Summary
6.Getting Data In and Out of R
- 6.1Reading and Writing Data
- 6.2Reading Data Files with
read.table() - 6.3Reading in Larger Datasets with read.table
- 6.4Calculating Memory Requirements for R Objects
7.Using the readr Package
8.Using Textual and Binary Formats for Storing Data
- 8.1Using
dput()anddump() - 8.2Binary Formats
9.Interfaces to the Outside World
- 9.1File Connections
- 9.2Reading Lines of a Text File
- 9.3Reading From a URL Connection
10.Subsetting R Objects
- 10.1Subsetting a Vector
- 10.2Subsetting a Matrix
- 10.3Subsetting Lists
- 10.4Subsetting Nested Elements of a List
- 10.5Extracting Multiple Elements of a List
- 10.6Partial Matching
- 10.7Removing NA Values
11.Vectorized Operations
- 11.1Vectorized Matrix Operations
12.Dates and Times
- 12.1Dates in R
- 12.2Times in R
- 12.3Operations on Dates and Times
- 12.4Summary
13.Managing Data Frames with the dplyr package
- 13.1Data Frames
- 13.2The
dplyrPackage - 13.3
dplyrGrammar - 13.4Installing the
dplyrpackage - 13.5
select() - 13.6
filter() - 13.7
arrange() - 13.8
rename() - 13.9
mutate() - 13.10
group_by() - 13.11
%>% - 13.12Summary
14.Control Structures
- 14.1
if-else - 14.2
forLoops - 14.3Nested
forloops - 14.4
whileLoops - 14.5
repeatLoops - 14.6
next,break - 14.7Summary
15.Functions
- 15.1Functions in R
- 15.2Your First Function
- 15.3Argument Matching
- 15.4Lazy Evaluation
- 15.5The
...Argument - 15.6Arguments Coming After the
...Argument - 15.7Summary
16.Scoping Rules of R
- 16.1A Diversion on Binding Values to Symbol
- 16.2Scoping Rules
- 16.3Lexical Scoping: Why Does It Matter?
- 16.4Lexical vs. Dynamic Scoping
- 16.5Application: Optimization
- 16.6Plotting the Likelihood
- 16.7Summary
17.Coding Standards for R
18.Loop Functions
- 18.1Looping on the Command Line
- 18.2
lapply() - 18.3
sapply() - 18.4
split() - 18.5Splitting a Data Frame
- 18.6tapply
- 18.7
apply() - 18.8Col/Row Sums and Means
- 18.9Other Ways to Apply
- 18.10
mapply() - 18.11Vectorizing a Function
- 18.12Summary
19.Regular Expressions
- 19.1Before You Begin
- 19.2Primary R Functions
- 19.3
grep() - 19.4
grepl() - 19.5
regexpr() - 19.6
sub()andgsub() - 19.7
regexec() - 19.8The
stringrPackage - 19.9Summary
20.Debugging
- 20.1Something’s Wrong!
- 20.2Figuring Out What’s Wrong
- 20.3Debugging Tools in R
- 20.4Using
traceback() - 20.5Using
debug() - 20.6Using
recover() - 20.7Summary
21.Profiling R Code
- 21.1Using
system.time() - 21.2Timing Longer Expressions
- 21.3The R Profiler
- 21.4Using
summaryRprof() - 21.5Summary
22.Simulation
- 22.1Generating Random Numbers
- 22.2Setting the random number seed
- 22.3Simulating a Linear Model
- 22.4Random Sampling
- 22.5Summary
23.Data Analysis Case Study: Changes in Fine Particle Air Pollution in the U.S.
- 23.1Synopsis
- 23.2Loading and Processing the Raw Data
- 23.3Results
24.Parallel Computation
- 24.1Hidden Parallelism
- 24.2Embarrassing Parallelism
- 24.3The Parallel Package
- 24.4Example: Bootstrapping a Statistic
- 24.5Building a Socket Cluster
- 24.6Summary
