The R Programming course at Coursera teaches how to use the R statistical programming environment for effective data analysis.
The following lists some features of the course:
- Overview of R. The history of R as a dialect of the statistical analysis environment S is presented. The features of R are also summarized.
- Data types. The very basic data types as well as the more complex ones are described. Also, casting between the data types and reading sub structures of data types is presented.
- Reading and writing data. It is described how to read and write data. From R it is possible to read data from many sources such as URLs (web pages), APIs, files, databases and more.
- Control structures. Some of the possibilities for controlling the execution flow of a program are described.
- Functions. It is described how to call and define functions. In R, functions are first class objects so they can be returned by another function.
- Scoping. Scoping is explained. R is lexically scoped so that for example free variables inside a function definition are bound to values using the environment in which the function is defined.
- Loop functions. R has so called "loop functions" which for example can be used to apply a function to all elements of a list or partitions of a list.
- Debugging tools. R has debugging tools allowing view of a call stack trace and also to step through a program execution using an interactive debugger.
- Simulation. R supports simulation in the sense that randow numbers can be obtained from well known statistical distributions. Also, samples can be taken from sets with or without replacement. Using the base statistical tools, new models can be defined and sampled.
- Profiler. In R it is possible to time various parts of the program by inserting time measurements at appropriate places. It is also possible to run the program without the time measurement statements and instead use a built in profiler which keeps track of how much time is used in the functions on the function call stack.
- Video lectures enabling you to stop and play parts over again if there is something you need to have repeated.
- Quizzes to check your understanding of the stuff presented in the video lectures.
- Course project to demonstrate your practical skills in working with the stuff presented in the video lectures.
- Discussion forums so you can discuss topics with possibly thousands of other course participants.
Visit the course web site here.