The core of R is an interpreted computer language with a syntax
superficially similar to C, but which is actually a "functional
programming language" with capabilities similar to Scheme. The
language allows branching and looping as well as modular programming
using functions. Most of the user-visible functions in R are written
in R, calling upon a smaller set of internal primitives. It is
possible for the user to interface to procedures written in C or
Fortran languages for efficiency, and also to write additional
primitives.
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.