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

RStudio 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:

R Script

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

Notebook and Rmarkdown

Recently (two years ago), 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

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

Here are some classical commands:

Col1 Col2 Col3
Row1 1 2
Row2 1 2

R commands need to be insert in chunks. You can quickly insert chunks like these into your file with

You just have to click on “Preview” to see the html output file.

Exercise

  1. Open a new R Notebook file (File -> New File -> R Notebook)
  2. Create a section named 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 green triangle).
  2. Click on the icon Preview.
  3. Add a second section Sine where you draw the sine function.

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

R presentation

Rstudio also provides many environments to produce slides. You can create a presentation in RStudio with the menu command File -> New File -> R Markdown -> Presentation. Then we have to select ioslides or slidy. You have to use the same syntax as for Notebook. Separation between slides are made with ## and R commands are always in chunk.

Exercice

Create 2 slides:

  1. Title: cosine and draw the cosine function.
  2. Title: sine and draw the sine function.

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 fields of applications. There are more than 13 000 packages available at the url https://cran.r-project.org. You can install a package

Once the package has been installed, you can call it with the library function:

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

Exercise

  1. Execute
iris %>% summarize(mean_Petal=mean(Petal.Length))

What happens?

  1. Install and load the package tidyverse and re-execute the previous code.
install.packages("tidyverse")
library(tidyverse)
iris %>% summarize(mean_Petal=mean(Petal.Length))
LS0tCnRpdGxlOiAnVHV0byAxOiBSU3R1ZGlvIGVudmlyb25tZW50JwpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgoKCioqUioqIGlzIGEgZnJlZSBzb2Z0d2FyZSBmb3Igc3RhdGlzdGljYWwgY29tcHV0aW5nIGFuZCBncmFwaGljcy4gSXQgaXMgZnJlZWx5IGRpc3RyaWJ1dGVkIGJ5ICoqQ1JBTioqIChDb21wcmVoZW5zaXZlIFIgQXJjaGl2ZSBOZXR3b3JrKSBhdCB0aGUgZm9sbG93aW5nIGFkcmVzczogW2h0dHBzOi8vd3d3LnItcHJvamVjdC5vcmddKGh0dHBzOi8vd3d3LnItcHJvamVjdC5vcmcpLiBUaGUgaW5zdGFsbGF0aW9uIHZhcmllcyBhY2NvcmRpbmcgdG8gdGhlIG9wZXJhdGluZyBzeXN0ZW0gKFdpbmRvd3MsIE1hYyBPUywgTGludXgpLiBCdXQgaXQgaXMgZWFzeSwgeW91IGp1c3QgaGF2ZSB0byBmb2xsb3cgdGhlIGluc3RydWN0aW9ucy4KCgoqKlJTdHVkaW8qKiBpcyBhbiBpbnRlZ3JhdGVkIGRldmVsb3BtZW50IGVudmlyb25tZW50IChJREUpIGZvciBSLiBJdCBpbmNsdWRlcyBhIGNvbnNvbGUsIHN5bnRheC1oaWdobGlnaHRpbmcgZWRpdG9yIHRoYXQgc3VwcG9ydHMgZGlyZWN0IGNvZGUgZXhlY3V0aW9uLCBhcyB3ZWxsIGFzIHRvb2xzIGZvciBwbG90dGluZywgaGlzdG9yeSwgZGVidWdnaW5nIGFuZCB3b3Jrc3BhY2UgbWFuYWdlbWVudC4gSXQgaXMgYWxzbyBmcmVlbHkgZGlzdHJpYnV0ZWQgYXQgdGhlIGFkZHJlc3MgW1JzdHVkaW9dKGh0dHBzOi8vd3d3LnJzdHVkaW8uY29tKS4gCgpUaGUgc2NyZWVuIGlzIGRpdmlkZWQgaW50byA0IHdpbmRvd3M6CgoqICpDb25zb2xlKjogd2hlcmUgeW91IGNhbiB0eXBlIGNvbW1hbmQgYW5kIHNlZSBvdXRwdXQgKGVudGVyIDErMikKKiAqV29ya3NwYWNlIGFuIEhpc3RvcnkqOiBzaG93IHRoZSBhY3RpdmUgb2JqZWN0IChlbnRlciBhIDwtIDErMikKKiAqRmlsZXMgUGxvdHMuLi4qOiBzaG93IGFsbCBmaWxlcyBhbmYgZm9sZGVycyBpbiB0aGUgd29ya3NwYWNlLCBzZWUgb3V0cHV0IGdyYXBoLCBpbnN0YWxsIHBhY2thZ2VzLi4uCiogKlIgc2NyaXB0Kjogd2hlcmUgeW91IGtlZXAgYSByZWNvcmQgb2YgeW91ciB3b3JrLiBEb24ndCBmb3JnZXQgdG8gcmVndWxhcmx5IHNhdmUgdGhpcyBmaWxlcyEKCiMjIFIgU2NyaXB0CgpUaGVyZSBhcmUgZGlmZmVyZW50IHdheXMgdG8gd29yayB3aXRoIFJzdHVkaW8uIEJhc2ljYWxseSwgeW91IAoKKiBvcGVuIGEgKipzY3JpcHQqKiAKKiBlbnRlciB0aGUgY29tbWFuZCBpbiB0aGUgc2NyaXB0Ciogc2VlIHRoZSBvdXRwdXQgaW4gdGhlIGNvbnNvbGUgKGNsaWNrIG9uIHRoZSBydW4gaWNvbikKKiBzYXZlIHRoZSBzY3JpcHQKCiMjIE5vdGVib29rIGFuZCBSbWFya2Rvd24KClJlY2VudGx5ICh0d28geWVhcnMgYWdvKSwgYSBub3RlYm9vayBoYXMgYmVlbiBkZXZlbG9wZWQgdG8gcHJvZHVjZSBoaWdoIHF1YWxpdHkgcmVwb3J0cyBpbiBodG1sIG9yIHBkZiBmb3JtYXRzLiBBbiBSIE5vdGVib29rIGlzIGFuIFIgTWFya2Rvd24gZG9jdW1lbnQgd2l0aCBjaHVua3MgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgaW5kZXBlbmRlbnRseSBhbmQgaW50ZXJhY3RpdmVseSwgd2l0aCBvdXRwdXQgdmlzaWJsZSBpbW1lZGlhdGVseSBiZW5lYXRoIHRoZSBpbnB1dC4gWW91IGNhbiBjcmVhdGUgYSBuZXcgbm90ZWJvb2sgaW4gUlN0dWRpbyB3aXRoIHRoZSBtZW51IGNvbW1hbmQgKkZpbGUgLT4gTmV3IEZpbGUgLT4gUiBOb3RlYm9vayouIFJjb2RlIGFyZSBlbWJlZGRlZCBpbnRvIGNodW5rczogbWVudSAqSW5zZXJ0IC0+IFIqIG9yICpDdHJsICsgQWx0ICsgSSoKClRoZSBbUiBtYXJrd2Rvd24gY2hlYXQgU2hlZXRdKGh0dHBzOi8vd3d3LnJzdHVkaW8uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAzL3JtYXJrZG93bi1jaGVhdHNoZWV0LTIuMC5wZGYpIGRlc2NyaWJlcyB0aGUgc3ludGF4IGZvciBNYXJrZHdvbiBhbmQgbm90ZWJvb2s6IHRhYnVsYXIsIGdyYXBoaWNzLCBlcXVhdGlvbiB3aXRoIGxhdGV4ICh5b3UgbmVlZCB0byBpbnN0YWxsICpsYXRleCogdG8gc2VlIHRoZSBlcXVhdGlvbnMpLi4uCiQkXGludCBmKHgpXCBkeD0xJCQKCgoKSGVyZSBhcmUgc29tZSBjbGFzc2ljYWwgY29tbWFuZHM6CgoqICppdGFsaWMqIGFuZCAqKmJvbGQqKgoqIHVub3JkcmVyZCBsaXN0OgogICAgLSBpdGVtIDEKICAgIC0gaXRlbSAyCiogb3JkZXJlZCBsaXN0OgogICAgMS4gaXRlbSAxCiAgICAyLiBpdGVtIDIKKiB0YWJsZToKCnwgQ29sMSB8IENvbDIgfCBDb2wzIHwKfC0tLS0tLXwtLS0tLS18LS0tLS0tfApSb3cxIHwgMSB8IDJ8IDMgfApSb3cyIHwgMSB8IDJ8IDMgfAoKKipSIGNvbW1hbmRzKiogbmVlZCB0byBiZSBpbnNlcnQgaW4gY2h1bmtzLiBZb3UgY2FuIHF1aWNrbHkgaW5zZXJ0IGNodW5rcyBsaWtlIHRoZXNlIGludG8geW91ciBmaWxlIHdpdGgKCiogdGhlIGtleWJvYXJkIHNob3J0Y3V0IEN0cmwgKyBBbHQgKyBJIChPUyBYOiBDbWQgKyBPcHRpb24gKyBJKQoqIHRoZSBBZGQgQ2h1bmsgIGNvbW1hbmQgaW4gdGhlIGVkaXRvciB0b29sYmFyCiogb3IgYnkgdHlwaW5nIHRoZSBjaHVuayBkZWxpbWl0ZXJzIGBgYHtyfSBhbmQgYGBgLgoKWW91IGp1c3QgaGF2ZSB0byBjbGljayBvbiAqIlByZXZpZXciKiB0byBzZWUgdGhlIGh0bWwgb3V0cHV0IGZpbGUuCgoKIyMjIEV4ZXJjaXNlCgoxLiBPcGVuIGEgbmV3IFIgTm90ZWJvb2sgZmlsZSAoKkZpbGUgLT4gTmV3IEZpbGUgLT4gUiBOb3RlYm9vayopCjIuIENyZWF0ZSBhIHNlY3Rpb24gbmFtZWQgKipDb3NpbmUqKgozLiBEcmF3IHRoZSBjb3NpbmUgZnVuY3Rpb246IHdyaXRlIHRoZSBmb2xsb3dpbmcgY29kZSBpbiBhIGNodW5rCgoKYGBge3IsZWNobz1UUlVFLGV2YWw9RkFMU0V9CnggPC0gc2VxKC0yKnBpLDIqcGksYnk9MC4wMSkKeSA8LSBjb3MoeCkKcGxvdCh4LHksdHlwZT0ibCIpCmBgYAoKNC4gRXhlY3V0ZSB0aGUgY2h1bmsgKGNsaWNrIG9uIHRoZSBncmVlbiB0cmlhbmdsZSkuCjUuIENsaWNrIG9uIHRoZSBpY29uICpQcmV2aWV3Ki4KNi4gQWRkIGEgc2Vjb25kIHNlY3Rpb24gKlNpbmUqIHdoZXJlIHlvdSBkcmF3IHRoZSBzaW5lIGZ1bmN0aW9uLgoKCgpUaGUgc291cmNlICoqUm1kKiogZmlsZXMgY2FuIGJlIG9idGFpbmVkIGZyb20gdGhlIGh0bWwgZmlsZToganVzdCBjbGljayBvbiAqQ29kZSAtPiBEb3dubG9hZCBSbWQqLiBGcm9tIG5vdyBvbiwgd2UgKiphbHdheXMqKiB3b3JrIG9uIG5vdGVib29rLgoKIyMgUiBwcmVzZW50YXRpb24KCioqUnN0dWRpbyoqIGFsc28gcHJvdmlkZXMgbWFueSBlbnZpcm9ubWVudHMgdG8gcHJvZHVjZSBzbGlkZXMuIFlvdSBjYW4gY3JlYXRlIGEgcHJlc2VudGF0aW9uIGluIFJTdHVkaW8gd2l0aCB0aGUgbWVudSBjb21tYW5kICpGaWxlIC0+IE5ldyBGaWxlIC0+IFIgTWFya2Rvd24gLT4gUHJlc2VudGF0aW9uKi4gVGhlbiB3ZSBoYXZlIHRvIHNlbGVjdCAqaW9zbGlkZXMqIG9yICpzbGlkeSouICBZb3UgaGF2ZSB0byB1c2UgdGhlIHNhbWUgc3ludGF4IGFzIGZvciBOb3RlYm9vay4gU2VwYXJhdGlvbiBiZXR3ZWVuIHNsaWRlcyBhcmUgbWFkZSB3aXRoICMjIGFuZCBSIGNvbW1hbmRzIGFyZSBhbHdheXMgaW4gY2h1bmsuCgoKIyMjIEV4ZXJjaWNlCgpDcmVhdGUgMiBzbGlkZXM6CgoxLiBUaXRsZTogKipjb3NpbmUqKiBhbmQgZHJhdyB0aGUgY29zaW5lIGZ1bmN0aW9uLgoyLiBUaXRsZTogKipzaW5lKiogYW5kIGRyYXcgdGhlIHNpbmUgZnVuY3Rpb24uCgojIyBQYWNrYWdlcwoKQSBwYWNrYWdlIGlzIHNpbXBseSBhIHNldCBvZiAqKlIqKiBwcm9ncmFtcyB3aGljaCBzdXBwbGVtZW50cyBhbmQgZW5oYW5jZXMgdGhlIGZ1bmN0aW9ucyBvZiAqKlIqKi4gUGFja2FnZXMgYXJlIGdlbmVyYWxseSByZXNlcnZlZCBmb3Igc3BlY2lmaWMgbWV0aG9kcyBvciBmaWVsZHMgb2YgYXBwbGljYXRpb25zLiBUaGVyZSBhcmUgbW9yZSB0aGFuIDEzIDAwMCBwYWNrYWdlcyBhdmFpbGFibGUgYXQgdGhlIHVybCBbaHR0cHM6Ly9jcmFuLnItcHJvamVjdC5vcmddKGh0dHBzOi8vY3Jhbi5yLXByb2plY3Qub3JnKS4gWW91IGNhbiBpbnN0YWxsIGEgcGFja2FnZQoKKiB3aXRoIHRoZSBmdW5jdGlvbiAqKmluc3RhbGwucGFja2FnZXMqKiAoaW4gdGhlIGNvbnNvbGUpCiogYnkgY2xpY2tpbmcgb24gdGhlICpQYWNrYWdlcyogaWNvbnMuCgpPbmNlIHRoZSBwYWNrYWdlIGhhcyBiZWVuIGluc3RhbGxlZCwgeW91IGNhbiBjYWxsIGl0IHdpdGggdGhlICoqbGlicmFyeSoqIGZ1bmN0aW9uOgoKYGBge3IsIGV2YWw9RkFMU0UsIGluY2x1ZGU9VFJVRX0KaW5zdGFsbC5wYWNrYWdlcyhwYWNrYWdlLm5hbWUpCmxpYnJhcnkocGFja2FnZXMubmFtZSkKYGBgCgoKIyMjIEV4ZXJjaXNlCgoxLiBFeGVjdXRlCgpgYGB7cixldmFsPUZBTFNFLGluY2x1ZGU9VFJVRX0KaXJpcyAlPiUgc3VtbWFyaXplKG1lYW5fUGV0YWw9bWVhbihQZXRhbC5MZW5ndGgpKQpgYGAKCldoYXQgaGFwcGVucz8KCjIuIEluc3RhbGwgYW5kIGxvYWQgdGhlIHBhY2thZ2UgKip0aWR5dmVyc2UqKiBhbmQgcmUtZXhlY3V0ZSB0aGUgcHJldmlvdXMgY29kZS4KCmBgYHtyLGV2YWw9RkFMU0UsaW5jbHVkZT1UUlVFfQppbnN0YWxsLnBhY2thZ2VzKCJ0aWR5dmVyc2UiKQpgYGAKCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmlyaXMgJT4lIHN1bW1hcml6ZShtZWFuX1BldGFsPW1lYW4oUGV0YWwuTGVuZ3RoKSkKYGBgCgoKCg==