R is a free software for statistical computing and graphics. It is freely distributed by CRAN (Comprehensive R Archive Network) at the following adress : CRAN. The installation varies according to the operating system (Windows, Mac OS, Linux). But it is easy, you just have to follow the instructions.

R Studio

R Studio is an integrated development environment (IDE) for R. It includes a console, syntax-highlighting editor that supports direct code execution, as well as tools for plotting, history, debugging and workspace management. It is also freely distributed at the address Rstudio.

The screen is divided into 4 windows:

Script and notebook

There are different ways to work with Rstudio. Basically, you

Recently (since one year), a notebook has been developed to produce high quality reports in html or pdf formats. An R Notebook is an R Markdown document with chunks that can be executed independently and interactively, with output visible immediately beneath the input. You can create a new notebook in RStudio with the menu command File -> New File -> R Notebook. Rcode are embedded into chunks: menu Insert -> R or Ctrl + Alt + I

Exercise

  1. Open a R Notebook file
  2. Create a section names Cosine
  3. Draw the cosine function: write the following code in a chunk
x <- seq(-2*pi,2*pi,by=0.01)
y <- cos(x)
plot(x,y,type="l")
  1. Execute the chunk (click on the triangle).
  2. Click on the icon Preview.
  3. Add a second section Sine where you draw the sine function.

The R markwdown cheat Sheet describes the syntax for Markdwon and notebook: tabular, graphics, equation with latex… \[\int f(x)\ dx=1\]

The source Rmd files can be obtained from the html files: just click on Code -> Download Rmd. From now on, we always work on notebook.

Packages

A package is simply a set of R programs which supplements and enhances the functions of R. Packages are generally reserved for specific methods or fiels of applications. There are more than 11 000 packages available at the url https://cran.r-project.org. You can install a package

Once the package is installed, you can call it using the library function:

install.packages(package.name)
library(packages.name)

Exercise

  1. Execute
library(Factoshiny)
data("decathlon")
PCA(decathlon[,1:10])
PCAshiny(decathlon)

What happen?

  1. Install and call the package Factoshiny and execute the previous code.
install.packages(Factoshiny)
library(Factoshiny)
data("decathlon")
PCA(decathlon[,1:10])
#PCAshiny(decathlon)
LS0tCnRpdGxlOiAiU2hlZXQgMSA6IEludHJvZHVjdGlvbiB0byBSIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgoKCioqUioqIGlzIGEgZnJlZSBzb2Z0d2FyZSBmb3Igc3RhdGlzdGljYWwgY29tcHV0aW5nIGFuZCBncmFwaGljcy4gSXQgaXMgZnJlZWx5IGRpc3RyaWJ1dGVkIGJ5IENSQU4gKENvbXByZWhlbnNpdmUgUiBBcmNoaXZlIE5ldHdvcmspIGF0IHRoZSBmb2xsb3dpbmcgYWRyZXNzIDogW0NSQU5dKGh0dHBzOi8vd3d3LnItcHJvamVjdC5vcmcpLiBUaGUgaW5zdGFsbGF0aW9uIHZhcmllcyBhY2NvcmRpbmcgdG8gdGhlIG9wZXJhdGluZyBzeXN0ZW0gKFdpbmRvd3MsIE1hYyBPUywgTGludXgpLiBCdXQgaXQgaXMgZWFzeSwgeW91IGp1c3QgaGF2ZSB0byBmb2xsb3cgdGhlIGluc3RydWN0aW9ucy4KCiMjIFIgU3R1ZGlvCgoqKlIgU3R1ZGlvKiogaXMgYW4gaW50ZWdyYXRlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCAoSURFKSBmb3IgUi4gSXQgaW5jbHVkZXMgYSBjb25zb2xlLCBzeW50YXgtaGlnaGxpZ2h0aW5nIGVkaXRvciB0aGF0IHN1cHBvcnRzIGRpcmVjdCBjb2RlIGV4ZWN1dGlvbiwgYXMgd2VsbCBhcyB0b29scyBmb3IgcGxvdHRpbmcsIGhpc3RvcnksIGRlYnVnZ2luZyBhbmQgd29ya3NwYWNlIG1hbmFnZW1lbnQuIEl0IGlzIGFsc28gZnJlZWx5IGRpc3RyaWJ1dGVkIGF0IHRoZSBhZGRyZXNzIFtSc3R1ZGlvXShodHRwczovL3d3dy5yc3R1ZGlvLmNvbSkuIAoKVGhlIHNjcmVlbiBpcyBkaXZpZGVkIGludG8gNCB3aW5kb3dzOgoKKiAqQ29uc29sZSo6IHdoZXJlIHlvdSBjYW4gdHlwZSBjb21tYW5kIGFuZCBzZWUgb3V0cHV0ICh0eXBlIDErMikKKiAqV29ya3NwYWNlIGFuIEhpc3RvcnkqOiBzaG93IHRoZSBhY3RpdmUgb2JqZWN0ICh0eXBlIGEgPC0gMSsyKQoqICpGaWxlcyBQbG90cy4uLio6IHNob3cgYWxsIGZpbGVzIGFuZiBmb2xkZXJzIGluIHRoZSB3b3Jrc3BhY2UsIHNlZSBvdXRwdXQgZ3JhcGgsIGluc3RhbGwgcGFja2FnZXMuLi4KKiAqUiBzY3JpcHQqOiB3aGVyZSB5b3Uga2VlcCBhIHJlY29yZCBvZiB5b3VyIHdvcmsuIERvbid0IGZvcmdldCB0byByZWd1bGFybHkgc2F2ZSB0aGlzIGZpbGVzIQoKIyMgU2NyaXB0IGFuZCBub3RlYm9vawoKVGhlcmUgYXJlIGRpZmZlcmVudCB3YXlzIHRvIHdvcmsgd2l0aCBSc3R1ZGlvLiBCYXNpY2FsbHksIHlvdSAKCiogb3BlbiBhICoqc2NyaXB0KiogCiogdHlwZSB0aGUgY29tbWFuZCBpbiB0aGUgc2NyaXB0Ciogc2VlIHRoZSBvdXRwdXQgaW4gdGhlIGNvbnNvbGUgKGNsaWNrIG9uIHRoZSBydW4gaWNvbikKKiBzYXZlIHRoZSBzY3JpcHQKClJlY2VudGx5IChzaW5jZSBvbmUgeWVhciksIGEgbm90ZWJvb2sgaGFzIGJlZW4gZGV2ZWxvcGVkIHRvIHByb2R1Y2UgaGlnaCBxdWFsaXR5IHJlcG9ydHMgaW4gaHRtbCBvciBwZGYgZm9ybWF0cy4gQW4gUiBOb3RlYm9vayBpcyBhbiBSIE1hcmtkb3duIGRvY3VtZW50IHdpdGggY2h1bmtzIHRoYXQgY2FuIGJlIGV4ZWN1dGVkIGluZGVwZW5kZW50bHkgYW5kIGludGVyYWN0aXZlbHksIHdpdGggb3V0cHV0IHZpc2libGUgaW1tZWRpYXRlbHkgYmVuZWF0aCB0aGUgaW5wdXQuIFlvdSBjYW4gY3JlYXRlIGEgbmV3IG5vdGVib29rIGluIFJTdHVkaW8gd2l0aCB0aGUgbWVudSBjb21tYW5kICpGaWxlIC0+IE5ldyBGaWxlIC0+IFIgTm90ZWJvb2sqLiBSY29kZSBhcmUgZW1iZWRkZWQgaW50byBjaHVua3M6IG1lbnUgKkluc2VydCAtPiBSKiBvciAqQ3RybCArIEFsdCArIEkqCgojIyMgRXhlcmNpc2UKCjEuIE9wZW4gYSBSIE5vdGVib29rIGZpbGUKMi4gQ3JlYXRlIGEgc2VjdGlvbiBuYW1lcyAqKkNvc2luZSoqCjMuIERyYXcgdGhlIGNvc2luZSBmdW5jdGlvbjogd3JpdGUgdGhlIGZvbGxvd2luZyBjb2RlIGluIGEgY2h1bmsKYGBge3J9CnggPC0gc2VxKC0yKnBpLDIqcGksYnk9MC4wMSkKeSA8LSBjb3MoeCkKcGxvdCh4LHksdHlwZT0ibCIpCmBgYAoKNC4gRXhlY3V0ZSB0aGUgY2h1bmsgKGNsaWNrIG9uIHRoZSB0cmlhbmdsZSkuCjUuIENsaWNrIG9uIHRoZSBpY29uICpQcmV2aWV3Ki4KNi4gQWRkIGEgc2Vjb25kIHNlY3Rpb24gKlNpbmUqIHdoZXJlIHlvdSBkcmF3IHRoZSBzaW5lIGZ1bmN0aW9uLgoKVGhlIFtSIG1hcmt3ZG93biBjaGVhdCBTaGVldF0oaHR0cHM6Ly93d3cucnN0dWRpby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDMvcm1hcmtkb3duLWNoZWF0c2hlZXQtMi4wLnBkZikgZGVzY3JpYmVzIHRoZSBzeW50YXggZm9yIE1hcmtkd29uIGFuZCBub3RlYm9vazogdGFidWxhciwgZ3JhcGhpY3MsIGVxdWF0aW9uIHdpdGggbGF0ZXguLi4KJCRcaW50IGYoeClcIGR4PTEkJAoKVGhlIHNvdXJjZSBSbWQgZmlsZXMgY2FuIGJlIG9idGFpbmVkIGZyb20gdGhlIGh0bWwgZmlsZXM6IGp1c3QgY2xpY2sgb24gKkNvZGUgLT4gRG93bmxvYWQgUm1kKi4gRnJvbSBub3cgb24sIHdlICoqYWx3YXlzKiogd29yayBvbiBub3RlYm9vay4KCgojIyBQYWNrYWdlcwoKQSBwYWNrYWdlIGlzIHNpbXBseSBhIHNldCBvZiAqKlIqKiBwcm9ncmFtcyB3aGljaCBzdXBwbGVtZW50cyBhbmQgZW5oYW5jZXMgdGhlIGZ1bmN0aW9ucyBvZiAqKlIqKi4gUGFja2FnZXMgYXJlIGdlbmVyYWxseSByZXNlcnZlZCBmb3Igc3BlY2lmaWMgbWV0aG9kcyBvciBmaWVscyBvZiBhcHBsaWNhdGlvbnMuIFRoZXJlIGFyZSBtb3JlIHRoYW4gMTEgMDAwIHBhY2thZ2VzIGF2YWlsYWJsZSBhdCB0aGUgdXJsIFtodHRwczovL2NyYW4uci1wcm9qZWN0Lm9yZ10oaHR0cHM6Ly9jcmFuLnItcHJvamVjdC5vcmcpLiBZb3UgY2FuIGluc3RhbGwgYSBwYWNrYWdlCgoqIHdpdGggdGhlIGZ1bmN0aW9uICoqaW5zdGFsbC5wYWNrYWdlcyoqIChpbiB0aGUgY29uc29sZSkKKiBieSBjbGlja2luZyBvbiB0aGUgKlBhY2thZ2VzKiBpY29ucy4KCk9uY2UgdGhlIHBhY2thZ2UgaXMgaW5zdGFsbGVkLCB5b3UgY2FuIGNhbGwgaXQgdXNpbmcgdGhlICoqbGlicmFyeSoqIGZ1bmN0aW9uOgoKYGBge3IsIGV2YWw9RkFMU0UsIGluY2x1ZGU9VFJVRX0KaW5zdGFsbC5wYWNrYWdlcyhwYWNrYWdlLm5hbWUpCmxpYnJhcnkocGFja2FnZXMubmFtZSkKYGBgCgojIyMgRXhlcmNpc2UKCjEuIEV4ZWN1dGUKCmBgYHtyLGV2YWw9RkFMU0V9CmxpYnJhcnkoRmFjdG9zaGlueSkKZGF0YSgiZGVjYXRobG9uIikKUENBKGRlY2F0aGxvblssMToxMF0pClBDQXNoaW55KGRlY2F0aGxvbikKYGBgCgpXaGF0IGhhcHBlbj8KCjIuIEluc3RhbGwgYW5kIGNhbGwgdGhlIHBhY2thZ2UgKipGYWN0b3NoaW55KiogYW5kIGV4ZWN1dGUgdGhlIHByZXZpb3VzIGNvZGUuCgpgYGB7cn0KaW5zdGFsbC5wYWNrYWdlcyhGYWN0b3NoaW55KQpsaWJyYXJ5KEZhY3Rvc2hpbnkpCmRhdGEoImRlY2F0aGxvbiIpClBDQShkZWNhdGhsb25bLDE6MTBdKQojUENBc2hpbnkoZGVjYXRobG9uKQpgYGAKCgoK