Lucid and engaging...and fun way to learn R!

**NEWER EDITION AVAILABLE**

*R in Action, Second Edition* is now available. An eBook of this older edition is included at no additional cost when you buy the revised edition!

*R in Action* is the first book to present both the R system and the use cases that make it such a compelling package for business developers. The book begins by introducing the R language, including the development environment. Focusing on practical solutions, the book also offers a crash course in practical statistics and covers elegant methods for dealing with messy and incomplete data using features of R.

## preface

## acknowledgments

## about this book

## about the cover illustration

# Part I Getting Started

## 1. Introduction to R

### 1.1. Why use R?

### 1.2. Obtaining and installing R

### 1.3. Working with R

### 1.4. Packages

### 1.5. Batch processing

### 1.6. Using output as input—reusing results

### 1.7. Working with large datasets

### 1.8. Working through an example

### 1.9. Summary

## 2. Creating a dataset

### 2.1. Understanding datasets

### 2.2. Data structures

### 2.3. Data input

### 2.4. Annotating datasets

### 2.5. Useful functions for working with data objects

### 2.6. Summary

## 3. Getting started with graphs

### 3.1. Working with graphs

### 3.2. A simple example

### 3.3. Graphical parameters

### 3.4. Adding text, customized axes, and legends

### 3.5. Combining graphs

### 3.6. Summary

## 4. Basic data management

### 4.1. A working example

### 4.2. Creating new variables

### 4.3. Recoding variables

### 4.4. Renaming variables

### 4.5. Missing values

### 4.6. Date values

### 4.7. Type conversions

### 4.8. Sorting data

### 4.9. Merging datasets

### 4.10. Subsetting datasets

### 4.11. Using SQL statements to manipulate data frames

### 4.12. Summary

## 5. Advanced data management

### 5.1. A data management challenge

### 5.2. Numerical and character functions

### 5.3. A solution for our data management challenge

### 5.4. Control flow

### 5.5. User-written functions

### 5.6. Aggregation and restructuring

### 5.7. Summary

# Part II Basic Methods

## 6. Basic graphs

### 6.1. Bar plots

### 6.2. Pie charts

### 6.3. Histograms

### 6.4. Kernel density plots

### 6.5. Box plots

### 6.6. Dot plots

### 6.7. Summary

## 7. Basic statistics

### 7.1. Descriptive statistics

### 7.2. Frequency and contingency tables

### 7.3. Correlations

### 7.4. t-tests

### 7.5. Nonparametric tests of group differences

### 7.6. Visualizing group differences

### 7.7. Summary

# Part III Intermediate Methods

## 8. Regression

### 8.1. The many faces of regression

### 8.2. OLS regression

### 8.3. Regression diagnostics

### 8.4. Unusual observations

### 8.5. Corrective measures

### 8.6. Selecting the "best" regression model

### 8.7. Taking the analysis further

### 8.8. Summary

## 9. Analysis of variance

### 9.1. A crash course on terminology

### 9.2. Fitting ANOVA models

### 9.3. One-way ANOVA

### 9.4. One-way ANCOVA

### 9.5. Two-way factorial ANOVA

### 9.6. Repeated measures ANOVA

### 9.7. Multivariate analysis of variance (MANOVA)

### 9.8. ANOVA as regression

### 9.9. Summary

## 10. Power analysis

### 10.1. A quick review of hypothesis testing

### 10.2. Implementing power analysis with the pwr package

### 10.3. Creating power analysis plots

### 10.4. Other packages

### 10.5. Summary

## 11. Intermediate graphs

### 11.1. Scatter plots

### 11.2. Line charts

### 11.3. Correlograms

### 11.4. Mosaic plots

### 11.5. Summary

## 12. Resampling statistics and bootstrapping

### 12.1. Permutation tests

### 12.2. Permutation test with the coin package

### 12.3. Permutation tests with the lmPerm package

### 12.4. Additional comments on permutation tests

### 12.5. Bootstrapping

### 12.6. Bootstrapping with the boot package

### 12.7. Summary

# Part IV Advanced Methods

## 13. Generalized linear models

### 13.1. Generalized linear models and the glm() function

### 13.2. Logistic regression

### 13.3. Poisson regression

### 13.4. Summary

## 14. Principal components and factor analysis

### 14.1. Principal components and factor analysis in R

### 14.2. Principal components

### 14.3. Exploratory factor analysis

### 14.4. Other latent variable models

### 14.5. Summary

## 15. Advanced methods for missing data

### 15.1. Steps in dealing with missing data

### 15.2. Identifying missing values

### 15.3. Exploring missing values patterns

### 15.4. Understanding the sources and impact of missing data

### 15.5. Rational approaches for dealing with incomplete data

### 15.6. Complete-case analysis (listwise deletion)

### 15.7. Multiple imputation

### 15.8. Other approaches to missing data

### 15.9. Summary

## 16. Advanced graphics

### 16.1. The four graphic systems in R

### 16.2. The lattice package

### 16.3. The ggplot2 package

### 16.4. Interactive graphs

### 16.5. Summary

## afterword Into the rabbit hole

## Appendix A: Graphic user interfaces

## Appendix B: Customizing the startup environment

## Appendix C: Exporting data from R

## Appendix D: Creating publication-quality output

## Appendix E: Matrix Algebra in R

## Appendix F: Packages used in this book

## Appendix G: Working with large datasets

## Appendix H: Updating an R installation

## index

## About the Technology

R is a powerful language for statistical computing and graphics that can handle virtually any data-crunching task. It runs on all important platforms and provides thousands of useful specialized modules and utilities. This makes R a great way to get meaningful information from mountains of raw data.

## About the book

*R in Action* is a language tutorial focused on practical problems. It presents useful statistics examples and includes elegant methods for handling messy, incomplete, and nonnormal data that are difficult to analyze using traditional methods. And statistical analysis is only part of the story. You'll also master R's extensive graphical capabilities for exploring and presenting data visually.

Finally, a book that brings R to the real world.

R from a programmer's point of view.

A great balance of targeted tutorials and in-depth examples.

An excellent introduction and reference from the author of the best R website.