diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..807ea25 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.Rproj.user +.Rhistory +.RData diff --git a/markdown.css b/markdown.css new file mode 100644 index 0000000..c99e57e --- /dev/null +++ b/markdown.css @@ -0,0 +1,3 @@ +.mes-images { + width: 50%; +} diff --git a/slides-31octobre2015-r-donnees-ouvertes-linuq.Rproj b/slides-31octobre2015-r-donnees-ouvertes-linuq.Rproj new file mode 100644 index 0000000..e83436a --- /dev/null +++ b/slides-31octobre2015-r-donnees-ouvertes-linuq.Rproj @@ -0,0 +1,16 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: Sweave +LaTeX: pdfLaTeX + +AutoAppendNewline: Yes +StripTrailingWhitespace: Yes diff --git a/slides.Rmd b/slides.Rmd new file mode 100644 index 0000000..dee48ac --- /dev/null +++ b/slides.Rmd @@ -0,0 +1,162 @@ +--- +title: "Exploration de données ouvertes avec R" +author: "François Pelletier" +date: "30 octobre 2015" +output: + ioslides_presentation +--- + +```{r echo=FALSE} +source("style.R") +``` + +## Exploration de données ouvertes avec R + +* François Pelletier +* francois@francoispelletier.org +* LinuQ +* 31 octobre 2015 + +## Contenu de la présentation + +* Présentation du logiciel statistique R +* Présentation des données ouvertes +* Exemple +* Ressources + +## Présentation du logiciel statistique R + +* Logiciel libre +* Langage de programmation S +* Multi-paradigme: objet, impératif et fonctionnel + +## Environnement + +* Ensemble de fonctions de base +* Extension avec des paquets +* Extenstion écrites souvent en C, C++ et FORTRAN + +```{r} +library("MASS") +``` +## Développer en R + +* RStudio +* Emacs + ESS +* Eclipse + StatET + +## Opérateurs de base + +```{r} +# Assignation +(x <- c(1,2,3)) +# Extraction +(y <- data.frame(a=x[1],b=x[2])) +# Objets +(z <- y$a) +``` + + + + + +## Les objets en R + +Les objets dans R ont une classe, un type et une dimension +```{r} +monVecteur <- c(1,2,3,4) +class(monVecteur) +typeof(monVecteur) +dim(monVecteur) +``` +## Les objets en R + +```{r} +maMatrice <- matrix(nrow = 2,ncol = 2, data = monVecteur) +class(maMatrice) +typeof(maMatrice) +dim(maMatrice) +``` + +## Les types en R + +Nous avons vu le vecteur et la matrice. + +Il y a aussi les facteurs, qui permettent d'utiliser des modalités qualitatives: + +```{r} +factor(c("oui","non","non","oui","nsp","oui","non")) +``` + +## Les types en R + +les tableaux, une extension multidimensionnelle des matrices: +```{r} +array(1:8,dim=c(2,2,2)) +``` + +## Les types en R + +les listes, qui sont des collections d'objets de types différents: +```{r} +list("1",TRUE,c(1,2,3),function(x) x^2) +``` + +## Les types en R + +et les cadres de données, semblables à des tables SQL: + +```{r} +data.frame(numero_membre=c(1,2,3,4), + nom_membre=c("François","Jean","Marie","Stéphanie"), + age_membre=c(26,53,41,32), + stringsAsFactors = TRUE) +``` + +## Structures de contrôle +```{r} +# option +if(TRUE) "vrai" else "faux" +# sélection +1:5<3 +(1:10)[-3:-5] +``` + +## Boucles +Explicites (à éviter) +```{r} +for (i in 1:2) + print(i) +``` +Implicites +```{r} +y <- sapply(3:4,print) +``` + +## Les fonctions + +Déclaration: +```{r} +maFonction <- function(x, ...) +{ + if (x) + sum(...) + else + 0 +} +maFonction(FALSE,1,2,3) +maFonction(TRUE,1,2,3) +``` + + + + + + + + + + + + + diff --git a/style.R b/style.R new file mode 100644 index 0000000..733c803 --- /dev/null +++ b/style.R @@ -0,0 +1,6 @@ +options(rstudio.markdownToHTML = + function(inputFile, outputFile) { + require(markdown) + markdownToHTML(inputFile, outputFile, stylesheet = 'markdown.css') + } +)