Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Advanced R

Paperback Engels 2019 2e druk 9780815384571
Verwachte levertijd ongeveer 8 werkdagen

Samenvatting

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 optimisingyour code.

By reading this book, you will learn: the difference between an object and its name, and why the distinction is importantthe 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 errorsthe powerful functional programming paradigm, which can replace many for loopsthe three most important OO systems: S3, S4, and R6the tidy eval toolkit for metaprogramming, which allows you to manipulate code and control evaluationeffective debugging techniques that you can deploy, regardless of how your code is runhow 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 themmuch deeper coverage of metaprogramming, including the new tidy evaluation frameworkuse 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 programminguse of color in code chunks and figures.

Specificaties

ISBN13:9780815384571
Taal:Engels
Bindwijze:paperback
Aantal pagina's:588
Uitgever:CRC Press
Druk:2
Verschijningsdatum:30-5-2019
Hoofdrubriek:IT-management / ICT
ISSN:

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Over 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.

Andere boeken door Hadley Wickham

Inhoudsopgave

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

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Advanced R