[R] R: A Language and Environment for Statistical Computing

Just an initial demo map, so that you don't start with an empty map list ...

Get Started. It's Free
or sign up with your email address
[R] R: A Language and Environment for Statistical Computing by Mind Map: [R] R: A Language and  Environment for  Statistical Computing

1. Packages and related projects

1.1. Additional Packages

1.1.1. Unit Test RUnit svUnit

1.1.2. Documentation ROxygen DOxygen like documentation system Lyx ? odfWeave sweave R code in LaTeX documents

1.1.3. GUIs Rattle (R GUI for data-mining) JGR R console in Java

1.1.4. Graphics grid low level graphic system (line, box, text) graph annotations unusual graphic representation lattice multiple graphics on the same viewport automatic generation on layout based on partition fields zoo irregular time series management http://r-forge.r-project.org/projects/zoo/ http://cran.r-project.org/web/packages/zoo/zoo.pdf ggplot2 plotting system for R, based on the grammar of graphics http://cran.r-project.org/web/packages/ggplot2/index.html http://had.co.nz/ggplot2/

1.1.5. Statistics vcd Multidimentional data manipulation (treemaps)

1.2. Integration

1.2.1. With other tools RGGobi integration with GGobi : statistical data grapher RWeka integration with Weka (data-mining tool)

1.2.2. Text Editors Eclipse plugin StatET A guide to Eclipse and StatET Emacs ESS Tinn-R : dedicated editor

1.2.3. Scripting Python : rpy RScript littler

1.2.4. Other langages native support of C rJava Use R code from Java code connect to the R server through RMI JavaGD Use R graphic functions from Java classes

1.3. Based on R

1.3.1. Yeroon : web-based graphics application

2. Get started!

2.1. Download R

2.1.1. download the precompiled binary distribution of R

2.1.2. Go to the R web site http://www.r-project.org, select a CRAN mirror site and download the base distribution

2.2. Start a R session

2.2.1. Start the R system, the main window (RGui) with a sub window (R Console) will appear

2.2.2. In the `Console' window the cursor is waiting for you to type in some R commands

2.2.3. For example, use R as a simple calculator : 1 + sin(3)

2.3. Learn R

2.3.1. Getting Started

2.3.2. R Basics

2.3.3. An introduction to R

2.3.4. R by example

2.3.5. Simples graphs

2.3.6. R Help Center

2.3.7. Histograms and lattice

2.4. More on R

2.4.1. Basic drawing with grid

2.4.2. Frames, environments and scopes

2.4.3. Quick R for people who are experienced users of other stat packages like SAS, SPSS, Stata, and Systat

2.4.4. S3 classes and methods

2.4.5. Writing functions in R

2.4.6. Colors

2.4.7. R for programmers

2.4.8. Introduction to HighPerformance R

2.4.9. Time Series

2.5. Other

2.5.1. Reference Card

2.5.2. Function Finder

2.5.3. Jonathan Baron's R Help page

2.5.4. R Help

3. Features

3.1. De facto standard among statisticians for the development of statistical software and data analysis tools

3.2. Benefits

3.2.1. an effective data handling and storage facility, ...

3.2.2. a suite of operators for calculations on arrays, in particular matrices, ...

3.2.3. a large, coherent, integrated collection of intermediate tools for data analysis, ...

3.2.4. graphical facilities for data analysis and display either on-screen or on hardcopy, and ...

3.2.5. a well-developed, simple and effective programming language which includes conditionals, loops, user-defined recursive functions and input and output facilities.

3.3. Domains

3.3.1. finance

3.3.2. human genome

3.3.3. environment

3.3.4. social media

3.4. R Graph samples

3.4.1. * R graphic R graphic

3.4.2. * * R Graphic R Graphic R graphic

4. Origins

4.1. Open Source implementation of S

4.1.1. S Statistical computing language Graphival Capabilities Created at Bell Labs Commercial

4.1.2. History of S Old S : 1975-1984 Implemented in Fortran Macros S3 : 1988-1991 Reimplemented in C Functions Informal classes and methods S4 : 1998- Advanced object-oriented features Interfaces with Java, Corba ... S-Plus 5 : 2000

4.2. Additions from Scheme

4.2.1. lexical scoping

4.2.2. one a the Lisp dialects Garbage Collection First class Functions Dynamic Typing Homoiconicity primary representation of programs is also a data structure in a primitive type of the language itself

4.3. created at the University of Auckland, New Zealand,

4.3.1. by Ross Ihaka

4.3.2. by Robert Gentleman

4.3.3. Starting 1975

4.3.4. involving John Chambers, Rick Becker, Doug Dunn, Paul Tukey, and Graham Wilkinson

5. EcoSystem

5.1. R Project

5.1.1. Developed by the R Development Core Team is part of the GNU project under the GNU General Public License

5.1.2. R Foundation for Statistical Computing, Vienna, Austria.

5.1.3. ISBN 3-900051-07-0

5.1.4. Web site : http://www.R-project.org

5.2. Package repositories

5.2.1. Comprehensive R Archive Network (CRAN) CRAN is a network of ftp and web servers around the world that store identical, up-to-date, versions of code and documentation for R

5.2.2. R-Forge central platform for the development of R packages and R-related software hosts many unpublished, beta packages and development versions of CRAN packages.

5.2.3. Crantastic community site for rating and reviewing all CRAN packages

5.2.4. CRANberries new and updates packages

5.2.5. Other repositories Omega

5.3. Search Engines

5.3.1. R Site Search

5.3.2. RSeek

5.3.3. Task Views page Summarizes packages that are especially useful for selected topics

5.3.4. Dan Goldstein's search page Goocle custom search and Rollyo

5.4. News and documentation

5.4.1. R Manuals

5.4.2. R Wiki

5.4.3. R Journal The R Journal is the refereed journal of the R project for statistical computing.

5.4.4. R Developer Page

5.4.5. R on Wikipedia

5.5. Forums and code databases

5.5.1. R Graph Gallery

5.5.2. R Graphical Manual

5.5.3. R Mailing list Archive

5.5.4. R forum on Nabble

5.5.5. R on Stackoverflow

5.6. Blogs

5.6.1. Planet R Blog aggregator

5.6.2. R Cookbook

5.7. Conferences

5.7.1. useR! 2010

5.7.2. useR! 2009

5.8. Commercialized versions

5.8.1. REvolution

5.8.2. R+

5.8.3. RStat

5.9. as a PageFlake

6. What is R ?

6.1. R is a programming language ...

6.1.1. Functional programming treats computation as the evaluation of mathematical functions avoids state and mutable data. functions can't have side effects

6.1.2. Lexical scoping a variable always refers to its top-level environment allows to reason as if variable bindings were carried out by substitution it requires each function value to carry with it a record of the values of the variables that it depends on closure the location of each value is known at compile time.

6.1.3. Extensibility add additional functionality by defining new R functions. can be extended via packages Package repository User-submitted packages 1,600 different packages Advanced users can write C code to manipulate R objects directly

6.1.4. Vectorization of all data Easy manipulation of vectors, matrices and data table Mathematical calculations on vectors Concatenation and set operations Summary outputs the basic statistics for any kind of data structure Map (apply), Reduce, Filter ... names lines and columns Data Types Double Integer Complex Logical Character Factor Dates and times Missing data and Infinite values

6.1.5. Homoiconicity primary representation of programs is also a data structure in a primitive type of the language itself

6.1.6. Object oriented S3 ECMA style classes (prototypes) S4 advanced object oriented support Classes are used for inheritance and to maintain object state

6.1.7. Garbage Collector

6.1.8. Data Structures Vector object that consists of a number of elements of the same type type is dynamically evaluated Matrix matrix can be regarded as a generalization of a vector Array Arrays are generalizations of vectors and matrices. A vector is a one-dimensional array and a matrix is a two dimensional array DataFrame Data frames can be regarded as an extension to matrices. Data frames can have columns of di fferent data types and are the most convenient data structure for data analysis in R Time-Series combines two components: - The data, a vector or matrix of numeric value - The dates of the data, the dates are equispaced points in time (regular tie series) A package provides functions to deal with irregular time series (monitoring data for instance) List A list is like a vector. However, an element of a list can be an object of any type and structure A list can contain another list and therefore it can be used to construct arbitrary data structures

6.2. ... and a software environment ...

6.2.1. Command Line Interface Run programs stored in script files

6.2.2. Graphical User Interface R console RGUI Interactive shell View data View graphics

6.2.3. CrossPlatform Windows Unix/Linux Mac OS

6.2.4. Fully planned and coherent system Packages standardized units for extending R Package metadata : title, author, description, dependencies ... Standardized package structure easy to install through the CRAN repository Name Spaces Source Forge Qualification Tests Standardized check through R CMD check Code and documentation check Documentation Package's vignettes Online documentation

6.3. ... for statistical computing

6.3.1. domain specific language statistical computing classification, clustering time-series analysis classical statistical tests linear and nonlinear modeling graphics On Screen and Printable LaTeX-like documents mathematical symbols High Quality plots

6.4. R is a Free Software


7.1. This document has been written by Claude Falguière in December 2009

7.2. Please let me know if information on this map is false or need be updated

7.3. Associated post for comments : http://claude-falguiere.blogspot.com/2009/12/r.html

7.4. Thanks to all the Web sites that are listed in the map and were usefull to collect and verify information