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:
- Console: where you can type command and see output (enter 1+2)
- Workspace an History: show the active object (enter a <- 1+2)
- Files Plots…: show all files anf folders in the workspace, see output graph, install packages…
- R script: where you keep a record of your work. Don’t forget to regularly save this files!
R Script
There are different ways to work with Rstudio. Basically, you
- open a script
- enter the command in the script
- see the output in the console (click on the run icon)
- save the script
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:
- italic and bold
- unordrerd list:
- ordered list:
- item 1
- item 2
- table:
R commands need to be insert in chunks. You can quickly insert chunks like these into your file with
- the keyboard shortcut Ctrl + Alt + I (OS X: Cmd + Option + I)
- the Add Chunk command in the editor toolbar
- or by typing the chunk delimiters
{r} and
.
You just have to click on “Preview” to see the html output file.
Exercise
- Open a new R Notebook file (File -> New File -> R Notebook)
- Create a section named Cosine
- 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")
- Execute the chunk (click on the green triangle).
- Click on the icon Preview.
- 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:
- Title: cosine and draw the cosine function.
- 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
- with the function install.packages (in the console)
- by clicking on the Packages icons.
Once the package has been installed, you can call it with the library function:
install.packages(package.name)
library(packages.name)
Exercise
- Execute
iris %>% summarize(mean_Petal=mean(Petal.Length))
What happens?
- 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==