Cart
Free Shipping in Australia
Proud to be B-Corp

Advanced R, Second Edition Hadley Wickham

Advanced R, Second Edition By Hadley Wickham

Advanced R, Second Edition by Hadley Wickham


$90.99
Condition - Very Good
Out of stock

Advanced R, Second Edition Summary

Advanced R, Second Edition by Hadley Wickham

Advanced R helps you understand how R works at a fundamental level. It is designed for R programmers who want to deepen their understanding of the language, and programmers experienced in other languages who want to understand what makes R different and special.

This book will teach you the foundations of R; three fundamental programming paradigms (functional, object-oriented, and metaprogramming); and powerful techniques for debugging and optimising
your code.

By reading this book, you will learn:

  • The difference between an object and its name, and why the distinction is important
  • The important vector data structures, how they fit together, and how you can pull them apart using subsetting
  • The fine details of functions and environments
  • The condition system, which powers messages, warnings, and errors
  • The powerful functional programming paradigm, which can replace many for loops
  • The three most important OO systems: S3, S4, and R6
  • The tidy eval toolkit for metaprogramming, which allows you to manipulate code and control evaluation
  • Effective debugging techniques that you can deploy, regardless of how your code is run
  • How to find and remove performance bottlenecks

The second edition is a comprehensive update:

  • New foundational chapters: "Names and values," "Control flow," and "Conditions"
  • comprehensive coverage of object oriented programming with chapters on S3, S4, R6, and how to choose between them
  • Much deeper coverage of metaprogramming, including the new tidy evaluation framework
  • use of new package like rlang (http://rlang.r-lib.org), which provides a clean interface to low-level operations, and purr (http://purrr.tidyverse.org/) for functional programming
  • Use of color in code chunks and figures

    Hadley Wickham is Chief Scientist at RStudio, an Adjunct Professor at Stanford University and the University of Auckland, and a member of the R Foundation. He is the lead developer of the tidyverse, a collection of R packages, including ggplot2 and dplyr, designed to support data science. He is also the author of R for Data Science (with Garrett Grolemund), R Packages, and ggplot2: Elegant Graphics for Data Analysis.

Advanced R, Second Edition Reviews

"The development of progressive data analysis tools that are technically excellent creates a superior opportunity for us as data science users. The concepts of this book can enhance the overall user experience and increase the likelihood that the developed tools become preferred tools accomplishing the desired purpose. Learning from Wickham's vast experience in R coding improves tools that provide targeted users the ability to be more efficient, clearer R analysis code writers, better debuggers of their own syntax errors, and positioned to enjoy faster performance time. These are many of the advantages I have enjoyed using tidyverse developed by Wickham with the "Advanced R" philosophy." ~Technometrics

"The book is packed with a ton of information, insights, and knowledge drawn from the author's own experience. The approach will be appreciated by the right audience - the audience that is looking for a deeper understanding of the R language. At times, the writing style reveals a personal reflection of how the author's knowledge of the language has evolved. This is beautiful."
~ISCB News

About Hadley Wickham

Hadley Wickham is Chief Scientist at RStudio, an Adjunct Professor at Stanford University and the University of Auckland, and a member of the R Foundation. He is the lead developer of the tidyverse, a collection of R packages, including ggplot2 and dplyr, designed to support data science. He is also the author of R for Data Science (with Garrett Grolemund), R Packages, and ggplot2: elegant graphics for data analysis.

Table of Contents

Introduction

Why R?

Who should read this book

What you will get out of this book

What you will not learn

Meta-techniques

Recommended reading

Getting help

Acknowledgments

Conventions

Colophon

I Foundations

Introduction

Names and values

Introduction

Binding basics

Copy-on-modify

Object size

Modify-in-place

Unbinding and the garbage collector

Answers

Vectors

Introduction

Atomic vectors

Attributes

S atomic vectors

Lists

Data frames and tibbles

NULL

Answers

Subsetting

Introduction

Selecting multiple elements

Selecting a single element

Subsetting and assignment

Applications

Answers

Control flow

Introduction

Choices

Loops

Answers

Functions

Introduction

Function fundamentals

Function composition

Lexical scoping

Lazy evaluation

(dot-dot-dot)

Exiting a function

Function forms

Quiz answers

Environments

Introduction

Environment basics

Recursing over environments

Special environments

The call stack

As data structures

Quiz answers

Conditions

Introduction

Signalling conditions

Ignoring conditions

Handling conditions

Custom conditions

Applications

Quiz answers

II Functional programming

Introduction

Functionals

Introduction

My first functional: map()

Purrr style

Map variants

Reduce

Predicate functionals

Base functionals

Function factories

Introduction

Factory fundamentals

Graphical factories

Statistical factories

Function factories + functionals

Function operators

Introduction

Existing function operators

Case study: creating your own function operators

III Object oriented programming

Introduction

Base types

Introduction

Base vs OO objects

Base types

S3

Introduction

Basics

Classes

Generics and methods

Object styles

Inheritance

Dispatch details

R6

Introduction

Classes and methods

Controlling access

Reference semantics

Why R?

S4

Introduction

Basics

Classes

Generics and methods

Method dispatch

S and S

Trade-offs

Introduction

S vs S

R vs S

IV Metaprogramming

Introduction

Big picture

Introduction

Code is data

Code is a tree

Code can generate code

Evaluation runs code

Customising evaluation with functions

Customising evaluation with data

Quosures

Expressions

Introduction

Abstract syntax trees

Expressions

Parsing and grammar

Walking the AST with recursive functions

Specialised data structures

Quasiquotation

Introduction

Motivation

Quoting

Unquoting

Non-quoting

Dot-dot-dot ()

Case studies

History

Evaluation

Introduction

Evaluation basics

Quosures

Data masks

Using tidy evaluation

Base evaluation

Translating R code

Introduction

HTML

LaTeX

V Techniques

Introduction

Debugging

Introduction

Overall approach

Locate the error

The interactive debugger

Non-interactive debugging

Non-error failures

Measuring performance

Introduction

Profiling

Microbenchmarking

Improving performance

Introduction

Code organisation

Check for existing solutions

Do as little as possible

Vectorise

Avoid copies

Case study: t-test

Other techniques

Rewriting R code in C++

Introduction

Getting started with C++

Other classes

Missing values

The STL

Case studies

Using Rcpp in a package

Learning more

Acknowledgments

Additional information

GOR009877335
9780815384571
0815384572
Advanced R, Second Edition by Hadley Wickham
Used - Very Good
Paperback
Taylor & Francis Inc
2019-05-23
588
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in very good condition, but if you are not entirely satisfied please get in touch with us

Customer Reviews - Advanced R, Second Edition