Efficient R programming Book Club
Welcome
Pace
Format
1
Introduction
Who is this for?
Who are we?
Types of efficiency
Why is R different?
Why efficiency?
General efficiency skills
Benchmarking
Benchmarking: microbenchmark
Benchmarking: bench
Profiling
Meeting Videos
Cohort 1
2
Efficient set-up
System monitoring
Updating R & Packages
R Startup
RStudio Setup
WTF is BLAS?
Other R Intepreters
Meeting Videos
Cohort 1
3
Efficient programming
SLIDE 1
Meeting Videos
Cohort 1
4
Efficient workflow
Top tips for efficient workflow
Tip 1: Start with pen and paper
Tip 2: Chunk the work
Tip 3: Package selection
Tip 4: Document throughout
Tip 5: Publishing with reproducibility
Meeting Videos
Cohort 1
5
Efficient input/output
What?
Overview
General principle in reproducible data management
Using
rio
Plain text formats (1)
Plain text formats (2)
Binary formats (1)
Binary formats (2)
Binary formats (3)
More on I/O with
arrow
(1)
More on I/O with
arrow
(2)
More on I/O with
arrow
(3)
Getting data (1)
Getting data (2)
Meeting Videos
Cohort 1
6
Efficient data carpentry
Why data carpentry?
The tidyverse: Core
The tidyverse: Readers
The tidyverse: Others
Debugging
Formatters
The tidyverse: Others 2
Behind the scenes
The tidyverse: Superseded?
janitor
data.table
targets
Meeting Videos
Cohort 1
7
Efficient optimisation
SLIDE 1
Meeting Videos
Cohort 1
8
Efficient hardware
What is a byte?
Understanding Computer Sizes
The Motherboard
The CPU
CPUs as a Coffee Shop
The CPU Deep Dive
RAM
The RAM Deep Dive
Storage
The HDD Deep Dive
The SSD Deep Dive
The Storage Deep Dive
32 and 64-bit Systems
Networking
How Not to Worry
Meeting Videos
Cohort 1
9
Efficient collaboration
SLIDE 1
Meeting Videos
Cohort 1
10
Efficient learning
R help
help dot search
browseVignettes
help
R source code
swirl & learnr
R journals, etc
Reprexes & online help
Book clubs!
Teach
Meeting Videos
Cohort 1
Published with bookdown
Efficient R programming Book Club
Overview
General principle in reproducible data management
rio
package
Plain text formats
Binary formats
More on reading and writing with
arrow
Getting data