218 lines
3.3 KiB
Text
218 lines
3.3 KiB
Text
---
|
|
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
|
|
* Opérateurs, objets et types
|
|
* 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)
|
|
```
|
|
----
|
|
|
|
```{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 tableaux, une extension multidimensionnelle des matrices:
|
|
```{r}
|
|
array(1:8,dim=c(2,2,2))
|
|
```
|
|
|
|
----
|
|
|
|
les listes, qui sont des collections d'objets de types différents:
|
|
```{r}
|
|
list("1",TRUE,c(1,2,3),function(x) x^2)
|
|
```
|
|
|
|
----
|
|
|
|
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)
|
|
```
|
|
|
|
## Quelques statistiques
|
|
|
|
```{r}
|
|
set.seed(123)
|
|
mesDonnees <- rnorm(10,mean = 5,sd = 3)
|
|
range(mesDonnees)
|
|
summary(mesDonnees)
|
|
quantile(mesDonnees,c(seq(.25,.75,.25)))
|
|
```
|
|
|
|
## Un premier graphique
|
|
|
|
```{r, echo=TRUE}
|
|
library("ggplot2")
|
|
monData <-
|
|
data.frame(x=seq_along(mesDonnees),
|
|
y=mesDonnees[order(mesDonnees)])
|
|
|
|
monGraph <-
|
|
ggplot(data=monData,aes(x=x,y=y)) +
|
|
geom_line() +
|
|
theme_classic()
|
|
```
|
|
|
|
----
|
|
|
|
```{r, echo=FALSE, dev="CairoSVG"}
|
|
monGraph
|
|
```
|
|
|
|
|
|
## Un premier modèle
|
|
```{r}
|
|
(monModele <- lm(y~x,data=monData))
|
|
```
|
|
----
|
|
|
|
Sommaire du modèle
|
|
|
|
```{r, echo=FALSE}
|
|
summary(monModele)
|
|
```
|
|
|
|
----
|
|
|
|
Analyse de variance du modèle
|
|
|
|
```{r, echo=FALSE}
|
|
anova(monModele)
|
|
```
|
|
|
|
## Ressources
|
|
|
|
* [R Project](https://www.r-project.org/)
|
|
* [Revolution R](http://revolutionanalytics.com/)
|
|
* [CRAN R Other Docs (incluant livres en français)](https://cran.r-project.org/other-docs.html)
|
|
* [Wikibooks R Programming](https://en.wikibooks.org/wiki/R_Programming)
|
|
* [R Bloggers](http://www.r-bloggers.com/)
|
|
* [Awesome R](https://github.com/qinwf/awesome-R)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|