free ebooks ==> www.ebook777.com SECOND EDITION IN ACTION Data analysis and graphics with R Robert I Kabacoff MANNING www.ebook777.com free ebooks ==> www.ebook777.com Praise for the First Edition Lucid and engaging—this is without doubt the fun way to learn R! —Amos A Folarin, University College London Be prepared to quickly raise the bar with the sheer quality that R can produce —Patrick Breen, Rogers Communications Inc An excellent introduction and reference on R from the author of the best R website —Christopher Williams, University of Idaho Thorough and readable A great R companion for the student or researcher —Samuel McQuillin, University of South Carolina Finally, a comprehensive introduction to R for programmers —Philipp K Janert, Author of Gnuplot in Action Essential reading for anybody moving to R for the first time —Charles Malpas, University of Melbourne One of the quickest routes to R proficiency You can buy the book on Friday and have a working program by Monday —Elizabeth Ostrowski, Baylor College of Medicine One usually buys a book to solve the problems they know they have This book solves problems you didn't know you had —Carles Fenollosa, Barcelona Supercomputing Center Clear, precise, and comes with a lot of explanations and examples…the book can be used by beginners and professionals alike, and even for teaching R! —Atef Ouni, Tunisian National Institute of Statistics A great balance of targeted tutorials and in-depth examples —Landon Cox, 360VL Inc Licensed to Mark Watson free ebooks ==> www.ebook777.com ii www.ebook777.com Licensed to Mark Watson free ebooks ==> www.ebook777.com R in Action SECOND EDITION Data analysis and graphics with R ROBERT I KABACOFF MANNING SHELTER ISLAND Licensed to Mark Watson free ebooks ==> www.ebook777.com iv 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 761 Shelter Island, NY 11964 Email: orders@manning.com ©2015 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 elemental chlorine Manning Publications Co 20 Baldwin Road PO Box 761 Shelter Island, NY 11964 Development editor: Copyeditor: Proofreader: Typesetter: Cover designer: Jennifer Stout Tiffany Taylor Toma Mulligan Marija Tudor Marija Tudor ISBN: 9781617291388 Printed in the United States of America 10 – EBM – 20 19 18 17 16 15 www.ebook777.com Licensed to Mark Watson free ebooks ==> www.ebook777.com brief contents PART PART PART GETTING STARTED 1 ■ Introduction to R ■ Creating a dataset 20 ■ Getting started with graphs ■ Basic data management ■ Advanced data management 89 46 71 BASIC METHODS 115 ■ Basic graphs ■ 117 Basic statistics 137 INTERMEDIATE METHODS 165 ■ Regression 167 ■ Analysis of variance 212 10 ■ Power analysis 11 ■ Intermediate graphs 12 ■ Resampling statistics and bootstrapping 239 255 v Licensed to Mark Watson 279 free ebooks ==> www.ebook777.com vi PART PART BRIEF CONTENTS ADVANCED METHODS 299 13 ■ Generalized linear models 14 ■ 301 Principal components and factor analysis 15 ■ Time series 16 ■ Cluster analysis 17 ■ Classification 18 ■ Advanced methods for missing data 319 340 369 389 414 EXPANDING YOUR SKILLS 435 19 ■ Advanced graphics with ggplot2 437 20 ■ Advanced programming 463 21 ■ Creating a package 491 22 ■ Creating dynamic reports 23 ■ Advanced graphics with the lattice package 513 www.ebook777.com Licensed to Mark Watson online only free ebooks ==> www.ebook777.com contents preface xvii acknowledgments xix about this book xxi about the cover illustration PART 1 xxvii GETTING STARTED Introduction to R 1.1 1.2 1.3 Why use R? Obtaining and installing R Working with R 7 Getting started Getting help Input and output 13 ■ 1.4 Packages 10 ■ The workspace 11 15 What are packages? 15 Installing a package 15 Loading a package 15 Learning about a package 16 ■ ■ 1.5 1.6 1.7 Batch processing 16 Using output as input: reusing results Working with large datasets 17 17 vii Licensed to Mark Watson free ebooks ==> www.ebook777.com viii CONTENTS 1.8 1.9 Working through an example Summary 19 18 Creating a dataset 20 2.1 2.2 Understanding datasets Data structures 22 Vectors 22 Factors 28 2.3 ■ ■ 21 Matrices 23 Lists 30 ■ Arrays 24 ■ Data frames 25 Data input 32 Entering data from the keyboard 33 Importing data from a delimited text file 34 Importing data from Excel 37 Importing data from XML 38 Importing data from the web 38 Importing data from SPSS 38 Importing data from SAS 39 Importing data from Stata 40 Importing data from NetCDF 40 Importing data from HDF5 40 Accessing database management systems (DBMSs) 40 Importing data via Stat/Transfer 42 ■ ■ ■ ■ ■ ■ ■ ■ 2.4 Annotating datasets Variable labels 2.5 2.6 43 ■ 43 Value labels 43 Useful functions for working with data objects Summary 44 43 Getting started with graphs 46 3.1 3.2 3.3 Working with graphs 47 A simple example 49 Graphical parameters 50 Symbols and lines 51 Colors 52 Graph and margin dimensions 54 ■ 3.4 ■ Text characteristics Adding text, customized axes, and legends 56 Titles 56 Axes 57 Reference lines 60 Legend Text annotations 61 Math annotations 63 ■ ■ ■ ■ 3.5 Combining graphs 64 Creating a figure arrangement with fine control 3.6 Summary 68 70 Basic data management 71 4.1 4.2 A working example 71 Creating new variables 73 www.ebook777.com 53 Licensed to Mark Watson 60 free ebooks ==> www.ebook777.com ix CONTENTS 4.3 4.4 4.5 Recoding variables 75 Renaming variables 76 Missing values 77 Recoding values to missing from analyses 78 4.6 Date values 78 Excluding missing values ■ 79 Converting dates to character variables further 81 4.7 4.8 4.9 Going ■ Type conversions 81 Sorting data 82 Merging datasets 83 Adding columns to a data frame 83 a data frame 84 4.10 81 Subsetting datasets ■ Adding rows to 84 Selecting (keeping) variables 84 Excluding (dropping) variables 84 Selecting observations 85 The subset() function 86 Random samples 87 ■ ■ ■ ■ 4.11 4.12 Using SQL statements to manipulate data frames 87 Summary 88 Advanced data management 89 5.1 5.2 A data-management challenge 90 Numerical and character functions 91 Mathematical functions 91 Statistical functions 92 Probability functions 94 Character functions 97 Other useful functions 98 Applying functions to matrices and data frames 99 ■ ■ ■ 5.3 5.4 A solution for the data-management challenge Control flow 105 Repetition and looping 105 execution 106 5.5 5.6 Conditional User-written functions 107 Aggregation and reshaping 109 Transpose 110 package 111 5.7 ■ 101 Summary ■ Aggregating data 110 ■ The reshape2 113 Licensed to Mark Watson free ebooks ==> www.ebook777.com BONUS CHAPTER 23 Advanced graphics with the lattice package You can issue these options in the high-level function calls or within the panel functions discussed in section 23.3 You can also use the update() function to modify a lattice graphic object Continuing the singer example, the following newgraph