A Step-by- Step Tutorial in R has a two-fold aim: to learn the basics of R and to acquire basic skills for programming efficiently in R. Emphasis is on converting ideas about analysing data into useful R programs. It is stressed throughout that programming starts first by getting a clear understanding of the problem. Once the problem is well formulated the next phase is to write step-by-step code for execution by the R evaluator. Although A Step-by-Step Tutorial in R is primarily intended as a course directed by an instructor, it can also be used with a little more effort as a self-teaching option. The first 11 chapters form the core and deal with management of R objects, workspaces, functions, graphics, data structures, subscripting, search paths, evaluation environments, vectorised programming, mapping functions, loops, error tracing and statistical modelling. The optional final chapters take a closer look at analysis of variance and covariance and optimization techniques.