This is an abridged and modified version of the Software Carpentry lesson R for reproducible scientific analysis, for the University of Manchester Course R for data analysis.

The original lesson includes tuition on using git for source control. The University offers a separate course on this, which can be booked online at http://app.manchester.ac.uk/RGIT (university logon required).

**The slide deck used in this course can be found here.**

The goal of this lesson is to teach novice programmers to use R for data analysis. R is commonly used in many scientific disciplines for statistical analysis and its array of third-party packages greatly extend its usefulness. The emphasis of these materials is to give attendees a strong foundation in the fundamentals of R, and to teach good practices for scientific computing.

Note that this workshop will focus on teaching the fundamentals of the
programming language R for data analysis. The statistical content is minimal, though learners should know *how* to find the appropriate functions and packages for a statistical analysis by the end of the course.

The course focuses on using the tidyverse for data analysis, rather than base R.

## Prerequisites

Understand that computers store data and instructions (programs, scripts etc.) in files. Files are organised in directories (folders). Know how to access files not in the working directory by specifying the path.

Download the example data we will use for the lesson from here.

Setup | Download files required for the lesson | |

00:00 | 1. Introduction to R and RStudio |
How to find your way around RStudio?
How to interact with R? |

01:15 | 2. R Packages and Seeking Help |
How do I use packages in R?
How can I get help in R? |

01:30 | 3. Loading data into R |
How can I read and write tabular data in R?
What are the basic data types in R? |

02:00 | 4. Manipulating tibbles with dplyr | How can I manipulate tibbles without repeating myself? |

02:55 | 5. Creating Publication-Quality Graphics | How can I create and save publication-quality graphics in R? |

04:15 | 6. Model fitting in R |
How do I fit a linear model in R?
How do these fit in with the tidyverse way of working? |

04:35 | 7. Combining your code with text | How can I organise my work using Rmarkdown documents? |

05:05 | 8. Writing Good Software |
How can I write software that other people can use?
What are the next steps in learning and using R? |

05:15 | 9. Functions Explained (self study) |
How can I write a new function in R?
How do we write functions that work with dplyr? |

05:15 | Finish |

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.