Loved by learners at thousands of companies
The beauty of R is that it is built for performing data analysis. The downside is that sometimes R can be slow, thereby obstructing our analysis. For this reason, it is essential to become familiar with the main techniques for speeding up your analysis, so you can reduce computational time and get insights as quickly as possible.
The Art of BenchmarkingFree
In order to make your code go faster, you need to know how long it takes to run. This chapter introduces the idea of benchmarking your code.
Fine Tuning: Efficient Base R
R is flexible because you can often solve a single problem in many different ways. Some ways can be several orders of magnitude faster than the others. This chapter teaches you how to write fast base R code.Memory allocation50 xpWhy is this piece of code slow?50 xpTimings - growing a vector100 xpTimings - pre-allocation100 xpImportance of vectorizing your code50 xpVectorized code: multiplication100 xpVectorized code: calculating a log-sum100 xpData frames and matrices50 xpData frames vs. matrices50 xpData frames and matrices - column selection100 xpSelecting a row in a data frame50 xpRow timings100 xp
Diagnosing Problems: Code Profiling
Profiling helps you locate the bottlenecks in your code. This chapter teaches you how to visualize the bottlenecks using the profvis package.
Turbo Charged Code: Parallel Programming
Some problems can be solved faster using multiple cores on your machine. This chapter shows you how to write R code that runs in parallel.CPUs - why do we have more than one50 xpHow many cores does this machine have?100 xpWhat sort of problems benefit from parallel computing?50 xpCan this loop run in parallel (1)?50 xpCan this loop run in parallel (2)?50 xpThe parallel package - parApply50 xpMoving to parallel programming50 xpMoving to parApply100 xpThe parallel package - parSapply50 xpUsing parSapply()100 xpTimings parSapply()100 xpYou can write efficient R code!50 xp
DatasetsInformation on 45,000 movies
Assoc Prof at Newcastle University, Consultant at Jumping Rivers
Colin is the author of Efficient R Programming, published by O'Reilly media. He is an Associate Professor of Statistics at Newcastle University, UK and regularly works with Jumping Rivers to provide data science training and consultancy. He is the only person in history to move to Newcastle for better weather.