Background
Sean Davis
6/29/2017
1 Why R?
1.1 What is R?
R is a number of things, simultaneously. Depending on who is being asked, R is:
- A software package
- A programming language
- A toolkit for developing statistical and analytical tools
- An extensive library of statistical and mathematical software and algorithms
- A scripting language
- much, much more
1.2 Why use R?
- R is cross-platform and runs on Windows, Mac, and Linux (as well as more obscure systems).
- R provides a vast number of useful statistical tools, many of which have been painstakingly tested.
- R produces publication-quality graphics in a variety of formats.
- R plays well with FORTRAN, C, and scripts in many languages.
- R scales, making it useful for small and large projects. It is NOT Excel.
- R does not have a meaningfully useful graphical user interface (GUI).
I can develop code for analysis on my Mac laptop. I can then install the same code on our 20k core cluster and run it in parallel on 100 samples, monitor the process, and then update a database (for example) with R when complete.
1.3 Why not use R?
- R cannot do everything.
- R is not always the “best” tool for the job.
- R will not hold your hand. Often, it will slap your hand instead.
- The documentation can be opaque (but there is documentation).
- R can drive you crazy (on a good day) or age you prematurely (on a bad one).
- Finding the right package to do the job you want to do can be challenging; worse, some contributed packages are unreliable.]{}
- R does not have a meaningfully useful graphical user interface (GUI).
1.4 R License and the Open Source Ideal
R is free (yes, totally free!) and distributed under GNU license. In particular, this license allows one to:
- Download the source code
- Modify the source code to your heart’s content
- Distribute the modified source code and even charge money for it, but you must distribute the modified source code under the original GNU license]{}
This license means that R will always be available, will always be open source, and can grow organically without constraint.