Hands-O Programmin wit R Garrett ==================================== Forewordvii Prefaceix Part I. Project 1: Weighted Dice ------------------------ 1The Very Basics3 The R User Interface Objects Functions Sample with Replacement Writing Your Own Functions The Function Constructor Arguments Scripts Summary 2. Packages and Help Pages -------------------------- Packages install.packages library Getting Help with Help Pages Parts of a Help Page Getting More Help Summary Project 1 Wrap-up iiiPart II. Project 2: Playing Cards ------------------------ 3R Objects37 ------------ Atomic Vectors Doubles Integers Characters Logicals Complex and Raw Attributes Names Dim Matrices Arrays Class Dates and Times Factors Coercion Lists Data Frames Loading Data Saving Data Summary 4R Notation65 ------------- Selecting Values Positive Integers Negative Integers Zero Blank Spaces Logical Values Names Deal a Card Shuffle the Deck Dollar Signs and Double Brackets Summary 5 Modifying Values ------------------- Changing Values in Place Logical Subsetting Logical Tests Boolean Operators 85Missing Information na.rm is.na Summary 6 Environments93 ---------------- Environments Working with Environments The Active Environment Scoping Rules Assignment Evaluation Closures Summary Project 2 Wrap-up Part III. Project 3: Slot Machine 7 Programs ------------ Strategy Sequential Steps Parallel Cases if Statements else Statements Lookup Tables Code Comments Summary The S3 System Attributes Generic Functions Methods Method Dispatch Classes S3 and Debugging S4 and R5 Summary 9 Loops --------- Expected Values vexpand.grid for Loops while Loops repeat Loops Summary 10 Speed ---------- Vectorized Code How to Write Vectorized Code How to Write Fast for Loops in R Vectorized Code in Practice Loops Versus Vectorized Code Summary Project 3 Wrap-up AInstalling R and RStudio187 BR Packages191 CUpdating R and Its Packages195 DLoading and Saving Data in R197 EDebugging R Code211 Index221