R for Data Engineers
1
Introduction
1.1
Who are these lessons for?
1.2
How do I get started?
2
Simple Beginnings
2.1
Learning Objectives
2.2
How do I say hello?
2.3
How do I add numbers?
2.4
How do I store many numbers together?
2.5
How do I index a vector?
2.6
How do I create new vectors from old?
2.7
How else does R represent the absence of data?
2.8
How can I store a mix of different types of objects?
2.9
What is the difference between
[
and
[[
?
2.10
How can I access elements by name?
2.11
How can I create and index a matrix?
2.12
How do I choose and repeat things?
2.13
How can I vectorize loops and conditionals?
2.14
How can I express a range of values?
2.15
How can I use a vector in a conditional statement?
2.16
How do I create and call functions?
2.17
How can I write a function that takes variable arguments?
2.18
How can I provide default values for arguments?
2.19
How can I hide the value that R returns?
2.20
How can I assign to a global variable from inside a function?
2.21
Key Points
3
The Tidyverse
3.1
Learning Objectives
3.2
How do I read data?
3.3
How do I inspect data?
3.4
How do I index rows and columns?
3.5
How do I calculate basic statistics?
3.6
How do I filter data?
3.7
How do I write tidy code?
3.8
How do I model my data?
3.9
How do I create a plot?
3.10
Do I need more practice with the tidyverse?
3.11
Key Points
4
Creating Reports
4.1
Learning Objectives
4.2
How can I create and preview a simple page?
4.3
How can I run code and include its output in a page?
4.4
How can I format tables in a page?
4.5
How can I share code between pages?
4.6
How can I parameterize documents?
4.7
How can I publish pages on GitHub?
4.8
Key Points
5
Creating Packages
5.1
Learning Objectives
5.2
What is our starting point?
5.3
How do I convert values to numbers?
5.4
How do I reorganize the columns?
5.5
How do I create a package?
5.6
How can I document the contents of a package?
5.7
How can my package import what it needs?
5.8
How can I add data to a package?
5.9
Key Points
6
Non-Standard Evaluation
6.1
Learning Objectives
6.2
How does Python evaluate function calls?
6.3
How does R evaluate function calls?
6.4
Why is lazy evaluation useful?
6.5
What is tidy evaluation?
6.6
What if I truly desire to venture into the depths?
6.7
Is it worth it?
6.8
Key Points
7
Intellectual Debt
7.1
Learning Objectives
7.2
Why shouldn’t I use
setwd
?
7.3
What the hell are factors?
7.4
How do I refer to various arguments in a pipeline?
7.5
I thought you said that R encouraged functional programming?
7.6
How does R give the appearance of immutable data?
7.7
What else should I worry about?
7.8
Key Points
8
Testing and Error Handling
8.1
Learning Objectives
8.2
How does R handle errors?
8.3
What should I know about testing in general?
8.4
How should I organize my tests?
8.5
How can I write a few simple tests?
8.6
How can I check data transformation?
8.7
Key Points
9
Advanced Topics
9.1
Learning Objectives
9.2
How can I use Python with R?
9.3
How does object-oriented programming work in R?
9.4
How can I write web applications in R?
9.5
How can I work with relational databases in R?
9.6
Key Points
References
Appendix
A
License
B
Code of Conduct
B.1
Our Standards
B.2
Our Responsibilities
B.3
Scope
B.4
Enforcement
B.5
Attribution
C
Citation
D
Contributing
E
Practice Problems
E.1
Do I need even more practice?
E.2
Please may I create some charts?
F
Glossary
G
Key Points
G.1
Simple Beginnings
G.2
The Tidyverse
G.3
Creating Packages
G.4
Non-Standard Evaluation
G.5
Intellectual Debt
G.6
Testing and Error Handling
G.7
Advanced Topics
Published with bookdown
R for Data Engineers
References