Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Welcome to the R Cookbook, 2nd Edition
The Recipes
A Note on Terminology
Software and Platform Notes
Other Resources
Conventions Used in This Book
Using Code Examples
O’Reilly Online Learning
How to Contact Us
Acknowledgments
1. Getting Started and Getting Help
Downloading and Installing R
Problem
Solution
Windows
macOS
Linux or Unix
Discussion
See Also
Installing RStudio
Problem
Solution
Discussion
Starting RStudio
Problem
Solution
Discussion
Entering Commands
Problem
Solution
Discussion
See Also
Exiting from RStudio
Problem
Solution
Windows and most Linux distributions
macOS
Discussion
See Also
Interrupting R
Problem
Solution
Discussion
See Also
Viewing the Supplied Documentation
Problem
Solution
Discussion
See Also
Getting Help on a Function
Problem
Solution
Discussion
See Also
Searching the Supplied Documentation
Problem
Solution
Discussion
See Also
Getting Help on a Package
Problem
Solution
Discussion
See Also
Searching the Web for Help
Problem
Solution
Discussion
See Also
Finding Relevant Functions and Packages
Problem
Solution
Discussion
See Also
Searching the Mailing Lists
Problem
Solution
Discussion
See Also
Submitting Questions to Stack Overflow or Elsewhere in the Community
Problem
Solution
Discussion
See Also
2. Some Basics
Printing Something to the Screen
Problem
Solution
Discussion
See Also
Setting Variables
Problem
Solution
Discussion
See Also
Listing Variables
Problem
Solution
Discussion
See Also
Deleting Variables
Problem
Solution
Discussion
See Also
Creating a Vector
Problem
Solution
Discussion
See Also
Computing Basic Statistics
Problem
Solution
Discussion
See Also
Creating Sequences
Problem
Solution
Discussion
See Also
Comparing Vectors
Problem
Solution
Discussion
See Also
Selecting Vector Elements
Problem
Solution
Discussion
See Also
Performing Vector Arithmetic
Problem
Solution
Discussion
See Also
Getting Operator Precedence Right
Problem
Solution
Discussion
See Also
Typing Less and Accomplishing More
Problem
Solution
Discussion
Creating a Pipeline of Function Calls
Problem
Solution
Discussion
Avoiding Some Common Mistakes
Problem
Discussion
Forgetting the parentheses after a function invocation
Mistyping “<-” as “<(space)-”
Incorrectly continuing an expression across lines
Using = instead of ==
Writing 1:n+1 when you mean 1:(n+1)
Getting bitten by the Recycling Rule
Installing a package but not loading it with library or require
Writing lst[n] when you mean lst[[n]] or vice versa
Using & instead of &&, or vice versa; same for | and ||
Passing multiple arguments to a single-argument function
Thinking that max behaves like pmax, or that min behaves like pmin
Misusing a function that does not understand data frames
Using a single backslash (\) in Windows paths
Posting a question to Stack Overflow or the mailing list before searching for the answer
See Also
3. Navigating the Software
Getting and Setting the Working Directory
Problem
Solution
Discussion
See Also
Creating a New RStudio Project
Problem
Solution
Discussion
Saving Your Workspace
Problem
Solution
Discussion
See Also
Viewing Your Command History
Problem
Solution
Discussion
Saving the Result of the Previous Command
Problem
Solution
Discussion
See Also
Displaying Loaded Packages via the Search Path
Problem
Solution
Discussion
See Also
Viewing the List of Installed Packages
Problem
Solution
Discussion
See Also
Accessing the Functions in a Package
Problem
Solution
Discussion
See Also
Accessing Built-in Datasets
Problem
Solution
Discussion
See Also
Installing Packages from CRAN
Problem
Solution
Discussion
See Also
Installing a Package from GitHub
Problem
Solution
Discussion
Setting or Changing a Default CRAN Mirror
Problem
Solution
Discussion
See Also
Running a Script
Problem
Solution
Discussion
See Also
Running a Batch Script
Problem
Solution
Discussion
See Also
Locating the R Home Directory
Problem
Solution
Discussion
Customizing R Startup
Problem
Solution
Discussion
Setting options
Reproducibility
Startup sequence
See Also
Using R and RStudio in the Cloud
Problem
Solution
Discussion
4. Input and Output
Entering Data from the Keyboard
Problem
Solution
Discussion
See Also
Printing Fewer Digits (or More Digits)
Problem
Solution
Discussion
See Also
Redirecting Output to a File
Problem
Solution
Discussion
Listing Files
Problem
Solution
Discussion
See Also
Dealing with “Cannot Open File” in Windows
Problem
Solution
Discussion
Reading Fixed-Width Records
Problem
Solution
Discussion
See Also
Reading Tabular Data Files
Problem
Solution
Discussion
See Also
Reading from CSV Files
Problem
Solution
Discussion
See Also
Writing to CSV Files
Problem
Solution
Discussion
See Also
Reading Tabular or CSV Data from the Web
Problem
Solution
Discussion
See Also
Reading Data from Excel
Problem
Solution
Discussion
See Also
Writing a Data Frame to Excel
Problem
Solution
Discussion
See Also
Reading Data from a SAS File
Problem
Solution
Discussion
See Also
Reading Data from HTML Tables
Problem
Solution
Discussion
See Also
Reading Files with a Complex Structure
Problem
Solution
Discussion
An Example
Reading from MySQL Databases
Problem
Solution
Discussion
See Also
Accessing a Database with dbplyr
Problem
Solution
Discussion
See Also
Saving and Transporting Objects
Problem
Solution
Discussion
See Also
5. Data Structures
Vectors
Lists
Mode: Physical Type
Class: Abstract Type
Scalars
Matrices
Arrays
Factors
Data Frames
Tibbles
Appending Data to a Vector
Problem
Solution
Discussion
Inserting Data into a Vector
Problem
Solution
Discussion
Understanding the Recycling Rule
Problem
Discussion
Creating a Factor (Categorical Variable)
Problem
Solution
Discussion
See Also
Combining Multiple Vectors into One Vector and a Factor
Problem
Solution
Discussion
Creating a List
Problem
Solution
Discussion
See Also
Selecting List Elements by Position
Problem
Solution
Discussion
Selecting List Elements by Name
Problem
Solution
Discussion
See Also
Building a Name/Value Association List
Problem
Solution
Discussion
Removing an Element from a List
Problem
Solution
Discussion
Flattening a List into a Vector
Problem
Solution
Discussion
See Also
Removing NULL Elements from a List
Problem
Solution
Discussion
See Also
Removing List Elements Using a Condition
Problem
Solution
Discussion
See Also
Initializing a Matrix
Problem
Solution
Discussion
See Also
Performing Matrix Operations
Problem
Solution
Discussion
Giving Descriptive Names to the Rows and Columns of a Matrix
Problem
Solution
Discussion
Selecting One Row or Column from a Matrix
Problem
Solution
Discussion
Initializing a Data Frame from Column Data
Problem
Solution
Discussion
Factors in data frames
Initializing a Data Frame from Row Data
Problem
Solution
Discussion
Factors in data frames
See Also
Appending Rows to a Data Frame
Problem
Solution
Discussion
Selecting Data Frame Columns by Position
Problem
Solution
Discussion
List expressions
Matrix-style subscripting
See Also
Selecting Data Frame Columns by Name
Problem
Solution
Discussion
List expressions
Matrix-style subscripting
See Also
Changing the Names of Data Frame Columns
Problem
Solution
Discussion
See Also
Removing NAs from a Data Frame
Problem
Solution
Discussion
Excluding Columns by Name
Problem
Solution
Discussion
Combining Two Data Frames
Problem
Solution
Discussion
Merging Data Frames by Common Column
Problem
Solution
Discussion
See Also
Converting One Atomic Value into Another
Problem
Solution
Discussion
Converting One Structured Data Type into Another
Problem
Solution
Discussion
Special considerations for matrices
See Also
6. Data Transformations
Applying a Function to Each List Element
Problem
Solution
Discussion
See Also
Applying a Function to Every Row of a Data Frame
Problem
Solution
Discussion
Applying a Function to Every Row of a Matrix
Problem
Solution
Discussion
Applying a Function to Every Column
Problem
Solution
Discussion
See Also
Applying a Function to Parallel Vectors or Lists
Problem
Solution
Discussion
See Also
Applying a Function to Groups of Data
Problem
Solution
Discussion
Creating a New Column Based on Some Condition
Problem
Solution
Discussion
See Also
7. Strings and Dates
Classes for Dates and Times
See Also
Getting the Length of a String
Problem
Solution
Discussion
Concatenating Strings
Problem
Solution
Discussion
Extracting Substrings
Problem
Solution
Discussion
Splitting a String According to a Delimiter
Problem
Solution
Discussion
See Also
Replacing Substrings
Problem
Solution
Discussion
See Also
Generating All Pairwise Combinations of Strings
Problem
Solution
Discussion
See Also
Getting the Current Date
Problem
Solution
Discussion
See Also
Converting a String into a Date
Problem
Solution
Discussion
Converting a Date into a String
Problem
Solution
Discussion
Converting Year, Month, and Day into a Date
Problem
Solution
Discussion
Getting the Julian Date
Problem
Solution
Discussion
Extracting the Parts of a Date
Problem
Solution
Discussion
Creating a Sequence of Dates
Problem
Solution
Discussion
8. Probability
Names of Distributions
Getting Help on Probability Distributions
See Also
Counting the Number of Combinations
Problem
Solution
Discussion
See Also
Generating Combinations
Problem
Solution
Discussion
See Also
Generating Random Numbers
Problem
Solution
Discussion
See Also
Generating Reproducible Random Numbers
Problem
Solution
Discussion
See Also
Generating a Random Sample
Problem
Solution
Discussion
See Also
Generating Random Sequences
Problem
Solution
Discussion
Randomly Permuting a Vector
Problem
Solution
Discussion
See Also
Calculating Probabilities for Discrete Distributions
Problem
Solution
Discussion
See Also
Calculating Probabilities for Continuous Distributions
Problem
Solution
Discussion
See Also
Converting Probabilities to Quantiles
Problem
Solution
Discussion
See Also
Plotting a Density Function
Problem
Solution
Discussion
9. General Statistics
Null Hypotheses, Alternative Hypotheses, and p-Values
Confidence Intervals
See Also
Summarizing Your Data
Problem
Solution
Discussion
See Also
Calculating Relative Frequencies
Problem
Solution
Discussion
Tabulating Factors and Creating Contingency Tables
Problem
Solution
Discussion
See Also
Testing Categorical Variables for Independence
Problem
Solution
Discussion
See Also
Calculating Quantiles (and Quartiles) of a Dataset
Problem
Solution
Discussion
Inverting a Quantile
Problem
Solution
Discussion
See Also
Converting Data to z-Scores
Problem
Solution
Discussion
Testing the Mean of a Sample (t-Test)
Problem
Solution
Discussion
See Also
Forming a Confidence Interval for a Mean
Problem
Solution
Discussion
Forming a Confidence Interval for a Median
Problem
Solution
Discussion
See Also
Testing a Sample Proportion
Problem
Solution
Discussion
Forming a Confidence Interval for a Proportion
Problem
Solution
Discussion
See Also
Testing for Normality
Problem
Solution
Discussion
See Also
Testing for Runs
Problem
Solution
Discussion
See Also
Comparing the Means of Two Samples
Problem
Solution
Discussion
See Also
Comparing the Locations of Two Samples Nonparametrically
Problem
Solution
Discussion
See Also
Testing a Correlation for Significance
Problem
Solution
Discussion
See Also
Testing Groups for Equal Proportions
Problem
Solution
Discussion
See Also
Performing Pairwise Comparisons Between Group Means
Problem
Solution
Discussion
See Also
Testing Two Samples for the Same Distribution
Problem
Solution
Discussion
10. Graphics
The Illustrations
Notes on ggplot2 Basics
“Long” Versus “Wide” Data with ggplot
Graphics in Other Packages
Creating a Scatter Plot
Problem
Solution
Discussion
See Also
Adding a Title and Labels
Problem
Solution
Discussion
Adding (or Removing) a Grid
Problem
Solution
Discussion
See Also
Applying a Theme to a ggplot Figure
Problem
Solution
Discussion
See Also
Creating a Scatter Plot of Multiple Groups
Problem
Solution
Discussion
See Also
Adding (or Removing) a Legend
Problem
Solution
Discussion
Plotting the Regression Line of a Scatter Plot
Problem
Solution
Discussion
See Also
Plotting All Variables Against All Other Variables
Problem
Solution
Discussion
Creating One Scatter Plot for Each Group
Problem
Solution
Discussion
See Also
Creating a Bar Chart
Problem
Solution
Discussion
See Also
Adding Confidence Intervals to a Bar Chart
Problem
Solution
Discussion
See Also
Coloring a Bar Chart
Problem
Solution
Discussion
See Also
Plotting a Line from x and y Points
Problem
Solution
Discussion
See Also
Changing the Type, Width, or Color of a Line
Problem
Solution
Discussion
See Also
Plotting Multiple Datasets
Problem
Solution
Discussion
Adding Vertical or Horizontal Lines
Problem
Solution
Discussion
See Also
Creating a Boxplot
Problem
Solution
Discussion
See Also
Creating One Boxplot for Each Factor Level
Problem
Solution
Discussion
See Also
Creating a Histogram
Problem
Solution
Discussion
See Also
Adding a Density Estimate to a Histogram
Problem
Solution
Discussion
See Also
Creating a Normal Quantile–Quantile Plot
Problem
Solution
Discussion
See Also
Creating Other Quantile–Quantile Plots
Problem
Solution
Discussion
Plotting a Variable in Multiple Colors
Problem
Solution
Discussion
See Also
Graphing a Function
Problem
Solution
Discussion
See Also
Displaying Several Figures on One Page
Problem
Solution
Discussion
See Also
Writing Your Plot to a File
Problem
Solution
Discussion
See Also
11. Linear Regression and ANOVA
ANOVA
Example Data
See Also
Performing Simple Linear Regression
Problem
Solution
Discussion
Performing Multiple Linear Regression
Problem
Solution
Discussion
See Also
Getting Regression Statistics
Problem
Solution
Discussion
See Also
Understanding the Regression Summary
Problem
Discussion
See Also
Performing Linear Regression Without an Intercept
Problem
Solution
Discussion
Regressing Only Variables That Highly Correlate with Your Dependent Variable
Problem
Solution
Discussion
Performing Linear Regression with Interaction Terms
Problem
Solution
Discussion
See Also
Selecting the Best Regression Variables
Problem
Solution
Discussion
See Also
Regressing on a Subset of Your Data
Problem
Solution
Discussion
Using an Expression Inside a Regression Formula
Problem
Solution
Discussion
See Also
Regressing on a Polynomial
Problem
Solution
Discussion
See Also
Regressing on Transformed Data
Problem
Solution
Discussion
See Also
Finding the Best Power Transformation (Box–Cox Procedure)
Problem
Solution
Discussion
See Also
Forming Confidence Intervals for Regression Coefficients
Problem
Solution
Discussion
See Also
Plotting Regression Residuals
Problem
Solution
Discussion
See Also
Diagnosing a Linear Regression
Problem
Solution
Discussion
See Also
Identifying Influential Observations
Problem
Solution
Discussion
See Also
Testing Residuals for Autocorrelation (Durbin–Watson Test)
Problem
Solution
Discussion
See Also
Predicting New Values
Problem
Solution
Discussion
See Also
Forming Prediction Intervals
Problem
Solution
Discussion
Performing One-Way ANOVA
Problem
Solution
Discussion
See Also
Creating an Interaction Plot
Problem
Solution
Discussion
See Also
Finding Differences Between Means of Groups
Problem
Solution
Discussion
See Also
Performing Robust ANOVA (Kruskal–Wallis Test)
Problem
Solution
Discussion
Comparing Models by Using ANOVA
Problem
Solution
Discussion
12. Useful Tricks
Peeking at Your Data
Problem
Solution
Discussion
See Also
Printing the Result of an Assignment
Problem
Solution
Discussion
See Also
Summing Rows and Columns
Problem
Solution
Discussion
Printing Data in Columns
Problem
Solution
Discussion
Binning Your Data
Problem
Solution
Discussion
Finding the Position of a Particular Value
Problem
Solution
Discussion
See Also
Selecting Every nth Element of a Vector
Problem
Solution
Discussion
See Also
Finding Minimums or Maximums
Problem
Solution
Discussion
See Also
Generating All Combinations of Several Variables
Problem
Solution
Discussion
See Also
Flattening a Data Frame
Problem
Solution
Discussion
See Also
Sorting a Data Frame
Problem
Solution
Discussion
Stripping Attributes from a Variable
Problem
Solution
Discussion
See Also
Revealing the Structure of an Object
Problem
Solution
Discussion
Timing Your Code
Problem
Solution
Discussion
Suppressing Warnings and Error Messages
Problem
Solution
Discussion
See Also
Taking Function Arguments from a List
Problem
Solution
Discussion
See Also
Defining Your Own Binary Operators
Problem
Solution
Discussion
See Also
Suppressing the Startup Message
Problem
Solution
Discussion
Getting and Setting Environment Variables
Problem
Solution
Discussion
See Also
Use Code Sections
Problem
Solution
Discussion
See Also
Executing R in Parallel Locally
Problem
Solution
Discussion
See Also
Executing R in Parallel Remotely
Problem
Solution
Discussion
See Also
13. Beyond Basic Numerics and Statistics
Minimizing or Maximizing a Single-Parameter Function
Problem
Solution
Discussion
See Also
Minimizing or Maximizing a Multiparameter Function
Problem
Solution
Discussion
See Also
Calculating Eigenvalues and Eigenvectors
Problem
Solution
Discussion
Performing Principal Component Analysis
Problem
Solution
Discussion
See Also
Performing Simple Orthogonal Regression
Problem
Solution
Discussion
See Also
Finding Clusters in Your Data
Problem
Solution
Discussion
See Also
Predicting a Binary-Valued Variable (Logistic Regression)
Problem
Solution
Discussion
See Also
Bootstrapping a Statistic
Problem
Solution
Discussion
See Also
Factor Analysis
Problem
Solution
Discussion
See Also
14. Time Series Analysis
Other Representations
ts (base distribution)
tsibble package
Date Versus Datetime
See Also
Representing Time Series Data
Problem
Solution
Discussion
See Also
Plotting Time Series Data
Problem
Solution
Discussion
See Also
Extracting the Oldest or Newest Observations
Problem
Solution
Discussion
See Also
Subsetting a Time Series
Problem
Solution
Discussion
See Also
Merging Several Time Series
Problem
Solution
Discussion
Filling or Padding a Time Series
Problem
Solution
Discussion
Lagging a Time Series
Problem
Solution
Discussion
Computing Successive Differences
Problem
Solution
Discussion
Performing Calculations on Time Series
Problem
Solution
Discussion
See Also
Computing a Moving Average
Problem
Solution
Discussion
See Also
Applying a Function by Calendar Period
Problem
Solution
Discussion
Applying a Rolling Function
Problem
Solution
Discussion
Plotting the Autocorrelation Function
Problem
Solution
Discussion
Testing a Time Series for Autocorrelation
Problem
Solution
Discussion
See Also
Plotting the Partial Autocorrelation Function
Problem
Solution
Discussion
See Also
Finding Lagged Correlations Between Two Time Series
Problem
Solution
Discussion
Detrending a Time Series
Problem
Solution
Discussion
Fitting an ARIMA Model
Problem
Solution
Discussion
See Also
Removing Insignificant ARIMA Coefficients
Problem
Solution
Discussion
Running Diagnostics on an ARIMA Model
Problem
Solution
Discussion
Making Forecasts from an ARIMA Model
Problem
Solution
Discussion
Plotting a Forecast
Problem
Solution
Discussion
See Also
Testing for Mean Reversion
Problem
Solution
Discussion
See Also
Smoothing a Time Series
Problem
Solution
Discussion
See Also
15. Simple Programming
Choosing Between Two Alternatives: if/else
Problem
Solution
Discussion
See Also
Iterating with a Loop
Problem
Solution
Discussion
See Also
Defining a Function
Problem
Solution
Discussion
See Also
Creating a Local Variable
Problem
Solution
Discussion
Choosing Between Multiple Alternatives: switch
Problem
Solution
Discussion
See Also
Defining Defaults for Function Parameters
Problem
Solution
Discussion
Signaling Errors
Problem
Solution
Discussion
See Also
Protecting Against Errors
Problem
Solution
Discussion
See Also
Creating an Anonymous Function
Problem
Solution
Discussion
See Also
Creating a Collection of Reusable Functions
Problem
Solution
Discussion
See Also
Automatically Reindenting Code
Problem
Solution
Discussion
See Also
16. R Markdown and Publishing
Creating a New Document
Problem
Solution
Discussion
Adding a Title, Author, or Date
Problem
Solution
Discussion
See Also
Formatting Document Text
Problem
Solution
See Also
Inserting Document Headings
Problem
Solution
Discussion
Inserting a List
Problem
Solution
Discussion
See Also
Showing Output from R Code
Problem
Solution
Discussion
See Also
Controlling Which Code and Results Are Shown
Problem
Solution
Discussion
See Also
Inserting a Plot
Problem
Solution
Discussion
Inserting a Table
Problem
Solution
Discussion
See Also
Inserting a Table of Data
Problem
Solution
Discussion
Inserting Math Equations
Problem
Solution
Discussion
Generating HTML Output
Problem
Solution
Discussion
See Also
Generating PDF Output
Problem
Solution
Discussion
See Also
Generating Microsoft Word Output
Problem
Solution
Discussion
See Also
Generating Presentation Output
Problem
Solution
Discussion
See Also
Creating a Parameterized Report
Problem
Solution
Discussion
See Also
Organizing Your R Markdown Workflow
Problem
Solution
Use RStudio Projects
Name directories intuitively
Create an R package for reused logic
Keep R Markdown focused on content, and source logic
See Also
Index
← Prev
Back
Next →
← Prev
Back
Next →