R languageBy Joshua Burkhow

You up for learning something new? or maybe like me want to “do” statistics? If you are looking to do data analysis then R is a great tool/language to learn.

What is R?

R is a system for statistical computation and graphics. It consists of a language plus a run-time environment with graphics, a debugger, access to certain system functions, and the ability to run programs stored in script files.

The core of R is an interpreted computer language which allows branching and looping as well as modular programming using functions. Most of the user-visible functions in R are written in R. It is possible for the user to interface to procedures written in the C, C++, or FORTRAN languages for efficiency. The R distribution contains functionality for a large number of statistical procedures. Among these are: linear and generalized linear models, nonlinear regression models, time series analysis, classical parametric and nonparametric tests, clustering and smoothing. There is also a large set of functions which provide a flexible graphical environment for creating various kinds of data presentations. Additional modules (“add-on packages”) are available for a variety of specific purposes (see R Add-On Packages). (Source: http://www.r-project.org/ )

Things To Learn

Like many if not most tools/software there is a significant learning curve. Now what if you had a nice list of the most important things to learn? Well here it is:

  • Calculations
  • Logical operations
  • Sequences
  • Testing and coercion
  • Missing values and things that are not numbers
  • Vectors and subscripts
  • Vectorized functions
  • Matrices and arrays
  • Sampling
  • Loops and repeats
  • Lists
  • Text, character strings and pattern matching
  • Dates and times
  • Environments
  • Writing R functions
  • Writing to file from R

As you practice learning R you can focus on learning these main topics and be well on your way to mastering R.

Hey R experts! Anything to add here? What else would you add for learning R that is not on this list?