MANNING Robert I. Kabacoff Data analysis and graphics with R IN ACTION www.it-ebooks.info R in Action www.it-ebooks.info www.it-ebooks.info R in Action Data analysis and graphics with R ROBERT I. KABACOFF MANNING Shelter Island www.it-ebooks.info For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. 20 Baldwin Road PO Box 261 Shelter Island, NY 11964 Email: orders@manning.com ©2011 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine. Manning Publications Co. Development editor: Sebastian Stirling 20 Baldwin Road Copyeditor: Liz Welch PO Box 261 Typesetter: Composure Graphics Shelter Island, NY 11964 Cover designer: Marija Tudor ISBN: 9781935182399 Printed in the United States of America 1 2 3 4 5 6 7 8 9 10 MAL 16 15 14 13 12 11 www.it-ebooks.info v brief contents Part I Getting started 1 1 ■ Introduction to R 3 2 ■ Creating a dataset 21 3 ■ Getting started with graphs 45 4 ■ Basic data management 73 5 ■ Advanced data management 91 Part II Basic methods 117 6 ■ Basic graphs 119 7 ■ Basic statistics 141 Part III Intermediate methods 171 8 ■ Regression 173 9 ■ Analysis of variance 219 10 ■ Power analysis 246 11 ■ Intermediate graphs 263 12 ■ Resampling statistics and bootstrapping 291 www.it-ebooks.info vi BRIEF CONTENTS Part IV Advanced methods 311 13 ■ Generalized linear models 313 14 ■ Principal components and factor analysis 331 15 ■ Advanced methods for missing data 352 16 ■ Advanced graphics 373 www.it-ebooks.info vii contents preface xv acknowledgments xvii about this book xix about the cover illustration xxiv Part I Getting started 1 1 Introduction to R 3 1.1 Why use R? 5 1.2 Obtaining and installing R 7 1.3 Working with R 7 Getting started 8 ■ Getting help 11 ■ The workspace 11 Input and output 13 1.4 Packages 14 What are packages? 15 ■ Installing a package 16 Loading a package 16 ■ Learning about a package 16 1.5 Batch processing 17 1.6 Using output as input—reusing results 18 1.7 Working with large datasets 18 www.it-ebooks.info viii CONTENTS 1.8 Working through an example 18 1.9 Summary 20 2 Creating a dataset 21 2.1 Understanding datasets 22 2.2 Data structures 23 Vectors 24 ■ Matrices 24 ■ Arrays 26 ■ Data frames 27 Factors 30 ■ Lists 32 2.3 Data input 33 Entering data from the keyboard 34 ■ Importing data from a delimited text file 35 ■ Importing data from Excel 36 ■ Importing data from XML 37 Webscraping 37 ■ Importing data from SPSS 38 ■ Importing data from SAS 38 Importing data from Stata 38 ■ Importing data from netCDF 39 Importing data from HDF5 39 ■ Accessing database management systems (DBMSs) 39 ■ Importing data via Stat/Transfer 41 2.4 Annotating datasets 42 Variable labels 42 ■ Value labels 42 2.5 Useful functions for working with data objects 42 2.6 Summary 43 3 Getting started with graphs 45 3.1 Working with graphs 46 3.2 A simple example 48 3.3 Graphical parameters 49 Symbols and lines 50 ■ Colors 52 ■ Text characteristics 53 Graph and margin dimensions 54 3.4 Adding text, customized axes, and legends 56 Titles 57 ■ Axes 57 ■ Reference lines 60 ■ Legend 60 Text annotations 62 3.5 Combining graphs 65 Creating a figure arrangement with fine control 69 3.6 Summary 71 4 Basic data management 73 4.1 A working example 73 4.2 Creating new variables 75 4.3 Recoding variables 76 www.it-ebooks.info CONTENTS ix 4.4 Renaming variables 78 4.5 Missing values 79 Recoding values to missing 80 ■ Excluding missing values from analyses 80 4.6 Date values 81 Converting dates to character variables 83 ■ Going further 83 4.7 Type conversions 83 4.8 Sorting data 84 4.9 Merging datasets 85 Adding columns 85 ■ Adding rows 85 4.10 Subsetting datasets 86 Selecting (keeping) variables 86 ■ Excluding (dropping) variables 86 Selecting observations 87 ■ The subset() function 88 ■ Random samples 89 4.11 Using SQL statements to manipulate data frames 89 4.12 Summary 90 5 Advanced data management 91 5.1 A data management challenge 92 5.2 Numerical and character functions 93 Mathematical functions 93 ■ Statistical functions 94 ■ Probability functions 96 Character functions 99 ■ Other useful functions 101 ■ Applying functions to matrices and data frames 102 5.3 A solution for our data management challenge 103 5.4 Control flow 107 Repetition and looping 107 ■ Conditional execution 108 5.5 User-written functions 109 5.6 Aggregation and restructuring 112 Transpose 112 ■ Aggregating data 112 ■ The reshape package 113 5.7 Summary 116 Part II Basic methods 117 6 Basic graphs 119 6.1 Bar plots 120 Simple bar plots 120 ■ Stacked and grouped bar plots 121 ■ Mean bar plots 122 Tweaking bar plots 123 ■ Spinograms 124 6.2 Pie charts 125 6.3 Histograms 128 www.it-ebooks.info [...]... Scenarios for using OLS regression 175 8.2 When there are more than two Comparing more than two groups 168 Visualizing group differences Summary 170 Regression 8.1 ■ ■ OLS regression ■ What you need to know 176 177 Fitting regression models with lm() 178 Simple linear regression 179 Polynomial regression 181 Multiple linear regression 184 Multiple linear regression with interactions 186 ■ ■ 8.3 Regression... I remain solely responsible for any errors or distortions inadvertently included in this book I really should have started this book by thanking my wife and partner, Carol Lynn Although she has no intrinsic interest in statistics or programming, she read each chapter multiple times and made countless corrections and suggestions No greater love has any person than to read multivariate statistics for... blue-collar jobs involve lower education, income, and prestige, whereas professional jobs involve higher education, income, and prestige White-collar jobs fall in between 20 40 60 80 100 80 RR.engineer 40 60 income bc prof wc 100 20 minister 40 60 80 education RR engineer 100 20 RR engineer minister 80 prestige 0 20 40 60 RR.engineer 20 40 60 80 0 20 40 60 80 100 Figure 1.2 Relationships between income,... useful in preparing data for further analyses After having completed part 1, you will be thoroughly familiar with programming in the R environment You will have the skills needed to enter and access data, clean it up, and prepare it for further analyses You will also have experience creating, customizing, and saving a variety of graphs www.it-ebooks.info 1 Introduction to R This chapter covers ■ ■ ■ Installing... education, and prestige for blue-collar (bc), white-collar (wc), and professional jobs (prof) Source: car package (scatterplotMatrix function) written by John Fox Graphs like this are difficult to create in other statistical programming languages but can be created with a line or two of code in R www.it-ebooks.info Working with R ■ ■ 7 There are some interesting exceptions Railroad Engineers have high income... methods of creating graphs, modifying them, and saving them in a variety of formats Chapter 4 covers basic data management, including sorting, merging, and subsetting datasets, and transforming, recoding, and deleting variables Building on the material in chapter 4, chapter 5 covers the use of functions (mathematical, statistical, character) and control structures (looping, conditional execution) for data... and a review of methods for interacting with graphs in real time The afterword points you to many of the best internet sites for learning more about R, joining the R community, getting questions answered, and staying current with this rapidly changing product Last, but not least, the eight appendices (A through H) extend the text’s coverage to include such useful topics as R graphic user interfaces,... Management Research Group, an international organizational development and consulting firm He has more than 20 years of experience providing research and statistical consultation to organizations in health care, financial services, manufacturing, behavioral sciences, government, and academia Prior to joining MRG, Dr Kabacoff was a professor of psychology at Nova Southeastern University in Florida, where he... new skills Once you’re familiar with the R interface, the next challenge is to get your data into the program In today’s information-rich world, data can come from many sources and in many formats Chapter 2 covers the wide variety of methods available for importing data into R The first half of the chapter introduces the data structures R uses to hold data and describes how to input data manually The... discussion of generalized linear models and then focuses on cases where you’re trying to predict an outcome variable that is either categorical (logistic regression) or a count (Poisson regression) One of the challenges of multivariate data problems is simplification Chapter 14 describes methods of transforming a large number of correlated variables into a smaller set of uncorrelated variables (principal component . Daniel Reis Pereira, Dr. D. H. van Rijn, Dr. Christian Marquardt, Amos Folarin, Stuart Jefferys, Dror Berel, Patrick Breen, Elizabeth Ostrowski, PhD, Atef Ouni, Carles Fenollosa, Ricardo Pietrobon,. xi 8.5 Corrective measures 205 Deleting observations 205 ■ Transforming variables 205 ■ Adding or deleting variables 207 ■ Trying a different approach 207 8.6 Selecting the “best” regression. trans- forming variables into more useful formats) ■ Annotating the data (in order to remember what each piece represents) ■ Summarizing the data (getting descriptive statistics to help characterize