Data science is a combination of statistics, computational science and machine learning. In data science your goal is to efficiently structure and mine data in order to extract useful patterns and build mathematical models. This requires computational methods and programming, and R is an ideal programming language for this. The R programming language is a domain specific language aimed at statistical methods and the R environment contains many packages for common machine learning methods.
This book is based on a number of lecture notes for classes I have taught on data science and statistical programming. It requires no previous knowledge of the R programming language but teaches best practises for both data manipulation and visualisation and for developing new software packages for R.
This book is made for those who have learned R by using and never understood very much its structure. Thomas Mailund writes about statistical programming as if it was a fairy-tale by bringing complex assumptions into the level of most of the readers. With such a smooth style it is impossible to not be involved and learn about R, supervised/unsupervised learning, unit testing and more.