R for Reproducible Scientific Analysis

Introduction to R for non-programmers using gapminder data.

The goal of this lesson is to teach novice programmers to write modular code and best practices for using R for data analysis. R is commonly used in many scientific disciplines for statistical analysis and its array of third-party packages. We find that many scientists who come to Software Carpentry workshops use R and want to learn more. The emphasis of these materials is to give attendees a strong foundation in the fundamentals of R, and to teach best practices for scientific computing: breaking down analyses into modular units, task automation, and encapsulation.

Note that this workshop will focus on teaching the fundamentals of the programming language R, and will not teach statistical analysis.

A variety of third party packages are used throughout this workshop. These are not necessarily the best, nor are they comprehensive, but they are packages we find useful, and have been chosen primarily for their usability.

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.

Schedule

Setup Download files required for the lesson
Day 1 09:00 1. Introduction to R and RStudio How to find your way around RStudio?
How to interact with R?
How to manage your environment?
How to install packages?
09:55 2. Project Management With RStudio How can I manage my projects in R?
10:25 3. Coffee Break Break
10:40 4. Seeking Help How can I get help in R?
11:00 5. Data Structures How can I read data in R?
What are the basic data types in R?
How do I represent categorical information in R?
11:55 6. Lunch Break
12:55 7. Exploring Data Frames How can I manipulate a data frame?
13:25 8. Subsetting Data How can I work with subsets of data in R?
14:15 9. Coffee Break Break
14:30 10. Control Flow How can I make data-dependent choices in R?
How can I repeat operations in R?
15:35 11. Creating Publication-Quality Graphics How can I create publication-quality graphics in R?
16:55 Finish
Day 2 09:00 12. Vectorization How can I operate on all the elements of a vector at once?
09:25 13. Functions Explained How can I write a new function in R?
10:25 14. Coffee Break Break
10:40 15. Writing Data How can I save plots and data created in R?
11:05 16. Split-Apply-Combine How can I do different calculations on different sets of data?
12:05 17. Lunch Break
13:05 18. Dataframe Manipulation with dplyr How can I manipulate dataframes without repeating myself?
14:00 19. Dataframe Manipulation with tidyr How can I change the format of dataframes?
14:45 20. Coffee Break Break
15:00 21. Producing Reports With knitr How can I integrate software and reports?
16:15 22. Writing Good Software How can I write software that other people can use?
16:30 23. Wrap Up How can I continue to perfect my R skills?
16:35 Finish