Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
2. Objectifs
Comprendre pour quoi R est une compétence demandée pour un profil Data Scientist
Connaître les structure de données et les fonctionnalités de base du logiciel R
Avoir une connaissance plus approfondie sur la structure de données data.frame, à la base
de l’analyse de données
Savoir effectuer de la manipulation de données avec un package spécialisé: dplyr
Savoir faire de la statistique descriptive
Savoir afficher des graphique utiles à l’exploration de données avec un package spécialisé:
ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 2
3. Sommaire
• Le logiciel R, pour quoi R ?
• Installation
• Fichiers et dossiers
• Opérations mathématiques et logiques
• Déclaration de variables
• Structures de données:
• vector, list,
• data.frame, matrix, array
• Import /Export de données
•Visualisation de données et de métadonnées
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 3
• Manipulation et sélection de données
• package dplyr
• model.matrix()
• données tidy
• Fonctions mathématiques
• Fonctions statistiques, distributions
• moyenne, médiane, variance, écart-type
• symétrie, boîte à moustaches
• histogramme, fonction de densité
• loi normale, théorème de limite centrale
• loi binomiale
• hypothèse statistique
• Fonctions graphiques, package ggplot2
4. Le logiciel R
• logiciel de statistique, gratuit et à code source ouvert (open source)
• langage informatique
• environnement de travail
• orientée objet
• syntaxe proche de C
• multiplateforme (Linux, Windows, Mac)
• système de documentation intégrée
• fonctions de traitement de données et capacité de stockage de données
• vaste et cohérente collection de procédures statistiques et de librairies de machine learning
• capacités graphiques évoluées
• peut s’interfacer avec un éventail de sources et de bases de données (SGBDR, NoSQL, URL, …)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 4
5. Pour quoi R ?
• Approche pédagogique
• maîtrise des méthodes statistiques pour parvenir à les mettre en œuvre
• création de ses propre outils ou « produits de données » avec des analyses très sophistiquées et
customisées sur les données
• Compétence demandée pour les profils Data Scientist
• Adaptations réussies et toujours en cours avec le Big Data (cluster de machines)
• RHadoop
• SparkR (API R de Spark)
• Microsoft Azure Machine Learning (AML)
• Microsoft R Services: R Open, DistributedR, ScaleR, ConnectR, DevelopR, DeployR
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 5
6. Installation
• R est disponible à l’URL suivante : https://cran.r-project.org/
• Linux: utilisez le gestionnaire de packages habituel plutôt que d’installer à partir du site CRAN (Ubuntu
[Synaptic], dpkg [Debian], pkg [Mac OS X], RPM [Red Hat]...)
• Windows: préférez la version 64-bits, sinon 32-bits mais pas les deux
• Rstudio est disponible à l’URL suivante : : https://www.rstudio.com/products/RStudio/
• télécharger RStudio Desktop (pas Server)
• support Windows, Mac, and Linux
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 6
7. Rstudio avec R déjà installé
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 7
8. Fichiers et dossiers
• Afficher le environnement de travail courant (working directory)
• Afficher les objets de l’espace de travail locale (local workspace)
• Fonctions de gestion de fichiers et de dossiers
• Elles peuvent s’exécuter également dans RStudio
• Documentation toujours accessible: ?file.info
• Windows: le backslash « » ne marche pas, utilisez « / »
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 8
Ryan G., R Essentials Refcard #232, DZone
9. Opérations arithmétiques et logiques
• Calculatrice, essayez !
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 9
Lafaye et al., Le logiciel R, ISBN 9782817801148, Springer, 2012
10. Déclaration de variables
• a <- 12; b <- 0.6; c <- 1+2i; d <- NA; e <- FALSE; f <- "abc"
• L’égalité a = 12 marche aussi; utilisation de "<-" bien répandue dans la communauté
• Types
• numeric: integer, double
• complex
• logical
• NA (logical)
• character
• raw (binaire)
• Différences entre typeof() et class() … et mode()
• Conversions avec as.integer("3.4"), as.character(2.3), as.raw(10), …
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 10
donnée manquante
11. Structures de données
• vector
• list
• data.frame
• matrix
• array (matrices multidimensionnelles)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 11
12. Structures de données: vector
• Une suite de données de même type
• Création avec
• la fonction c()
• la fonction seq(from=, to=, by=)
• les deux points ":"
• Si plusieurs types différents alors R opère une conversion
implicite vers le type le plus général
• Opérations
• c(1,2,3) + c(2,1,2)
• c(1,2,3) * c(2,1,2)
• c(1,2,3) * c(2,2) … oops
• c(1,2,3,4) * c(2,2)
• Accès
• x <- c(1,2,58,5); a[1]; a[1:3]; a[1,c(3:4)]
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 12
Ryan G., R Essentials Refcard #232, DZone
13. Structures de données: list
• La plus souple et la plus riche
• Regroupe dans une même structure des types différents
• A <- list(2.5, c(1:5), "toto")
• A[[1]]; A[2:3]
• B <- list(nom="dupont",
notes=c(10,15,18))
• A <- setNames(object = A, c("x1", "x2", "x3"))
• Vous pouvez ajouter vos modèles afin d’effectuer de comparaisons par exemple
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 13
14. Structures de données: data.frame
• Tableau d’individus ou observations x variables
• imc <- data.frame(sexe=c("H", "F", "F", "H"),
taille=c(1.83,1.76,1.60,1.78),
poids=c(67, 58, 48, 66),
row.names=c("Guy", "Lola", "Cécile", "Franck"))
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 14
15. Structures de données: data.frame
• Organiser les chaînes de caractères avec factor() et ordered()
• imc$classe <- factor(c("A", "B", "A", "B"), levels=c("A", "B"))
• imc$taillec <- ordered(c("Grand", "Grand", "Petit", "Grand"),
levels=c("Petit", "Moyen", "Grand"))
• Essayez imc[order(imc$taillec),]; imc[order(imc$taillec, imc$poids),]
• Concaténation de lignes et de colonnes: rbind(), cbind()
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 15
visualisation de méta-données, on verra plus loin …
16. Structures de données: data.frame
• Afficher le nombre d’observations et le nombre de variables; afficher les noms des variables
• Afficher l’observation « Lola » avec les valeurs de toutes les variables
• Afficher la 3e observation avec les valeurs de toutes les variables
• Afficher la 3e observation avec les valeurs de la 1ère et 3e variables
• Afficher la valeur de « poids » pour la dernières observation
• Afficher les deux dernières observations avec les valeurs de toutes les variables
• Afficher les valeurs la 3e variable pour toutes les observations, 2 solutions au moins
• quelle est le type du résultat retourné ?
• Afficher les valeurs de la 1ère et 3e variables pour toutes les observations, 2 solutions au moins
• quelle est le type du résultat retourné ?
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 16
17. Structures de données: matrix
• Généralisation de la notion de vecteur: suite à 2 indices, dimension = 2
• Les éléments doivent avoir le même type
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 17
18. Structures de données: matrix
• Afficher les dimensions de la matrice
• Afficher uniquement le nombre de lignes
• Afficher uniquement le nombre de colonnes
• Afficher les valeurs d’une ligne quelconque;
idem pour une colonne quelconque
• rowSums(X)
• colSums(X)
• rowMeans(X)
• colMeans(X)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 18
Opérations matricielles
Chiquet J., Commandes usuelles de R
19. Structures de données: array
• Généralisation de la notion de vecteur: suite à multiples indices, dimension = n > 2
• Une matrix est un array de dimension 2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 19
3 dimensions
3 dimensions
20. Import / Export de données
• RStudio
• Import Dataset ou Text File …
• Import Web URL
• Les fonctions d’import
• read.table
• read.csv
• read.delim
• read.csv2
• read.delim2
• scan
• Import de fichiers Excel et SAS
• packages gdata et gremisc pour Excel
• package foreign pour SAS
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 20
• La fonction d’export
• write.table
21. Import / Export de données
• RStudio: Import Dataset
• exécution d’un read.delim()
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 21
22. Import / Export de données
• RStudio: Import Web URL
• exécution d’un read.table()après téléchargement du fichier
• Alternative avec le package repmis
>myurl <- paste0("https://dl.dropboxusercontent.com/u/187053213/ds/knn/knn_fraude_data.txt")
>fraude_data <- repmis::source_data(myurl, sep = " ", header = TRUE)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 22
trying URL 'https://dl.dropboxusercontent.com/u/187053213/ds/knn/knn_fraude_data.txt'
Content type 'text/plain; charset=utf-8' length 236 bytes
downloaded 236 bytes
> knn_fraude_data <- read.table("C:UsersuserAppDataLocalTempRtmpiMhs4rdata306824ad7c05", header=TRUE, quote=""")
23. Import / Export de données
• La fonction read.table
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 23
nom de fichier, chemin absolue entouré par " " ou des ' '
peut être un accès distant: URL(http://...)
inclure ou pas les noms des variables
séparateur: " " ou "t" ou ";" ou …
contrôle la conversion de chaines de caractères e facteurs (FALSE) ou les conserve (TRUE)
remplace les valeurs manquantes par la chaîne de caractères spécifiée
vecteur spécifiant les noms des observations ou lignes
nombre maximum de lignes à lire
si séparateur spécifié, alors les espaces blancs avant et après les chaînes
de caractères seront considérées comme faisant partie de la chaîne de
caractères. Pour éviter cela, on met à TRUE.
24. Import / Export de données
• On peut utiliser indifféremment les fonctions
suivantes si l’on modifie les valeurs par
défaut de sep et dec:
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 24
Niang Keita D., CNAM Module STA115 - Outils informatique de la statistique
25. Import / Export de données
• Import fichier Excel avec la package gdata
• le fichier fichier.xls a été placé dans le répertoire C:Program FilesRR.2.2.1librarygdataxls
xlsfile <- file.path(.path.package('gdata'), 'xls', 'fichier.xls')
donnees <- read.xls(xlsfile)
• on a créé un répertoire « rep » dans C:Program FilesRR.2.2.1librarygdata où on place le fichier
xlsfile <- file.path(.path.package('gdata'), 'rep', 'fichier.xls')
donnees <- read.xls(xlsfile)
• Import fichier SAS avec la package foreign
sasfilehome = "C:/Users/user/Dropbox/MySAS/Cours SAS"
sasexehome = "C:/Program Files/SASHome/x86/SASFoundation/9.3"
G=read.ssd(file.path(sasfilehome),"paysniv3",sascmd=file.path(sasexehome,"sas.exe"))
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 25
26. Import / Export de données
• Export d’objet (data.frame, vector, matrix, …) en fichier
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 26
Traitement des guillemets doubles incluses dans les
chaînes de caractères; si quote=TRUE:
• si « escape » chaque " est remplacé par "
• si « double » chaque " est remplacé par ""
si TRUE, les variables de mode caractère et les
facteurs sont écrits entre ""
nom du fichier en spécifiant le chemin absolue
"C:/../../fichier.txt"
27. Visualisation de données et de
métadonnées
•
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 27
Ryan G., R Essentials Refcard #232, DZone
28. Manipulation et sélection de données
• Fonctions de base
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 28
Chiquet J., Commandes usuelles de R
29. Manipulation et sélection de données:
package dplyr
• install.packages("dplyr")
• Sélection de colonnes select()
• Nouvelles colonnes mutate()
• Filtrage des observations filter()
• Trie des observations arrange()
• Summarise summarise()
• Agrégation group_by()
• Jointures inner_join(), left_join(),
right_join(), full_join(),
semi_join(), anti_join()
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 29
30. Manipulation et sélection de données:
package dplyr
hflights %>%
filter(Dest == "DFW", DepTime < 800) %>%
arrange(desc(AirTime))
hflights %>%
group_by(UniqueCarrier) %>%
summarise(n_flights = n(),
n_canc = sum(Cancelled == 1),
p_canc = mean(Cancelled == 1) * 100,
avg_delay = mean(ArrDelay, na.rm = TRUE)) %>%
arrange(avg_delay, p_canc)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 30
31. Manipulation et sélection de données:
fonction model.matrix()
• as.data.frame(model.matrix(object = ~ ., data = Credit ))
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 31
32. Manipulation et sélection de données:
package tidy
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 32
• package« tidy » (tidy data)
34. Fonctions statistiques et distributions
Les résumés numériques
• La fonction summary()
• La fonction stat.desc()
• package « pastecs »
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 34
35. Les résumés numériques
• stat.desc(iris[,1:4], basic = TRUE, desc = TRUE, norm = TRUE, p = 0.95)
1. nb d’observations
2. nb de valeurs NULL
3. nb de valeurs NA
4. minimum
5. maximum
6. différence entre max et min
7. somme des valeurs non manquantes
8. médiane
9. moyenne
10. écart-type de la moyenne
11. intervalle de confiance de la moyenne (p)
12. variance
13. écart-type
14. coefficient de variation
15. coefficient de symétrie
16. et son critère de significativité
17. coefficient de concentration
18. et son critère de significativité
19. statistique test de normalité Shapiro-Wilk
20. et sa probabilité associée
Fonctions statistiques et distributions
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 35
36. •b
Médiane et moyenne
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 36
ggplot(data = iris, mapping = aes(x=Sepal.Width)) +
geom_histogram(aes(y=..density..)) +
geom_density() +
geom_vline(xintercept = mean(iris$Sepal.Width), colour="blue") +
geom_vline(xintercept = median(iris$Sepal.Width), colour="red")
37. Boîte à moustaches
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 37
Coursera , MOOC Data Analysis and Statistical Inference, Duke University
38. Coefficient de symétrie (skewness) et
d’aplatissement (kurtosis)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 38
Coursera , MOOC Data Analysis and Statistical Inference, Duke University
skewness < 1
kurtosis > 0
skewness ~ 0
kurtosis ~ 0
skewness > 1
kurtosis > 0
39. Variance, écart-type
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 39
Exemple avec la courbe de Gauss ou loi normale
Coursera , MOOC Data Analysis and Statistical Inference, Duke University
on peut dire qu’en moyenne, les individus s’écartent de la moyenne d’un écart-type
40. •b
Intervalle de confiance
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 40
Pour une distribution normale:
IC à 95% = moyenne ± 1.96 * SE
IC à 95% = 3.0573 ± 1.96 * 0.0355
µ
Coursera , MOOC Data Analysis and Statistical Inference, Duke University
41. Distributions
• d-: fonction de masse ou de densité
• donne les valeurs P(X=j)
• r-: génération de nombres pseudo-aléatoires
• donne les échantillons
• p-: fonction de répartition
• donne les valeurs P(X<=x)
• q-: fonction quantile
• donne la valeur y telle que P(X=x) = y
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 41
Chiquet J., Commandes usuelles de R
Exemple: loi normale
• dnorm()
• rnorm()
• pnorm()
• qnorm()
42. Histogramme
• une variable quantitative continue: iris$Sepal.Length
• ggplot(iris, aes(x=Sepal.Length)) + geom_histogram(binwidth = 0.25, fill = 'black')
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 42
binwidth = 5 binwidth = 1
binwidth = 0.25
binwidth = 0.1
43. Courbe de densité
• Une variable quantitative continue: iris$Sepal.Length
• ggplot(iris, aes(x=Sepal.Length)) + geom_density()
• On s’intéresse à la forme de la courbe, pas aux valeurs sur les ordonnées
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 43
aire sous la
courbe = 1
l’axe des ordonnées
(y) n’a pas d’unités,
on ne cherche pas à
l’interpréter !
elle nous servira à calculer
des probabilités
44. La loi normale
• La loi normale
• l'une des lois de probabilité les plus adaptées pour
modéliser des phénomènes naturels issus de
plusieurs événements aléatoires.
• loi gaussienne, loi de Gauss ou loi de Laplace-
Gauss.
• 𝜨(𝝁, 𝝈 𝟐), deux paramètres:
• moyenne 𝝁
• écart-type 𝝈
• Densité de probabilité
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 44
courbe de densité ou de
Gauss
45. La loi normale
• Deux échantillons de 1000 observations chacun générés par rnorm()
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 45
df <- data.frame(X1 = rnorm(n = 10000, mean = 7, sd = 1),
X2 = rnorm(n = 10000, mean = 7, sd = 3))
head(df$X1, n = 10)
6.663734 6.319440 6.364606 5.808029 7.481073 8.357453 7.632734 7.525970
7.168708 8.118269
head(df$X2, n = 10)
10.260346 8.288047 7.271359 8.745277 10.877368 4.741585 6.883856
8.892518 4.373987 9.141098
ggplot() +
geom_density(aes(x=df$X1, y=..density..),col='red') +
geom_density(aes(x=df$X2, y=..density..),col='blue') +
labs(x="valeurs de X1 et X2")
46. La loi normale
• Deux échantillons de 1000 observations chacun générés par rnorm()
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 46
df <- data.frame(X1 = rnorm(n = 10000, mean = 7, sd = 1),
X2 = rnorm(n = 10000, mean = 7, sd = 3))
ggplot() +
geom_line(aes(x=df$X1, y=dnorm(df$X1, 7, 1)), col='red') +
geom_line(aes(x=df$X2, y=dnorm(df$X2, 7, 3)), col='blue') +
labs(x="valeurs de X1 et X2", y ="dnorm()")
47. La loi normale
• Distribution centrée et réduite: N(0, 1)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 47
𝑧 =
𝑋 − 𝜇
𝜎
𝑧 =
64−71
20.25
= −1.56
Griffiths D., Head First Statistics, O’Reilly, ISBN 9780596527587,2008
48. La loi normale
• Distribution centrée et réduite: N(0, 1)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 48
df <- data.frame(Z1 = scale(rnorm(n = 10000, mean = 7, sd = 1)),
Z2 = scale(rnorm(n = 10000, mean = 7, sd = 3)))
ggplot() +
geom_line(aes(x=df$X1, y=dnorm(df$X1)), col='red') +
geom_line(aes(x=df$X2, y=dnorm(df$X2)), col='blue') +
labs(x="valeurs de Z1 et Z2", y ="dnorm()")
deux courbes
superposées: même
moyenne (0) et écart-
type (1)
l’axe des x à l’échelle des
valeurs de la statistique Z𝑧 =
𝑋 − 𝜇
𝜎
49. La loi normale
• Probabilité P(Z > z) = 1 – P(Z < z)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 49
# P(z < -1.56)
pnorm(q = -1.56) # par défaut mean=0, sd=1
0.0593
# Alors P(z > -1.56) = 1 - pnorm(q = -1.56) = 0.9406201
# Alternative 1 (q = Z)
pnorm(q = -1.56, lower.tail = FALSE)
0.9406201
# Alternative 2 (q = X)
pnorm(q = 64, mean = 71, sd = sqrt(20.25), lower.tail = FALSE)
0.9400931
calculée par défaut
avec pnorm()
Griffiths D., Head First Statistics, O’Reilly, ISBN 9780596527587,2008
50. La loi normale
• Cherchons z sachant la probabilité
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 50
qnorm(p = 0.94, mean = 71, sd = sqrt(20.25), lower.tail = FALSE)
64.00352
qnorm(p = 0.94, mean = 0, sd = 1, lower.tail = FALSE)
-1.554774
𝑧 =
𝑋 − 𝜇
𝜎
Griffiths D., Head First Statistics, O’Reilly, ISBN 9780596527587,2008
51. La loi normale
• Soient n variables aléatoires X1, X2, …, Xn
• indépendantes et identiquement distribuées (noté i.d.d.)
de la loi normale
• de moyenne 𝝁 = 7
• d’écart-type 𝝈 = 1
• Soit ത𝑋 𝑛 =
1
𝑛
σ𝑖=1
𝑛
𝑋𝑖
• ത𝑋 𝑛 est une variable aléatoire
• ҧ𝑥 𝑛 sont les réalisations de ത𝑋 𝑛
• 𝜇 = Ε 𝑋 est l’espérance théorique
• Loi des grands nombres
• lorsque n → ∞, ത𝑋 𝑛 → Ε 𝑋 = 𝜇
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 51
X1 <- rnorm(n = 1, mean = 7, sd = 1)
X2 <- rnorm(n = 1, mean = 7, sd = 1)
X3 <- rnorm(n = 1, mean = 7, sd = 1)
X4 <- rnorm(n = 1, mean = 7, sd = 1)
mean(c(X1, X2, X3, X4))
6.626811
X1 <- rnorm(n = 1, mean = 7, sd = 1)
X2 <- rnorm(n = 1, mean = 7, sd = 1)
X3 <- rnorm(n = 1, mean = 7, sd = 1)
X4 <- rnorm(n = 1, mean = 7, sd = 1)
mean(c(X1, X2, X3, X4))
6.712035
X1 <- rnorm(n = 1, mean = 7, sd = 1)
X2 <- rnorm(n = 1, mean = 7, sd = 1)
X3 <- rnorm(n = 1, mean = 7, sd = 1)
X4 <- rnorm(n = 1, mean = 7, sd = 1)
mean(c(X1, X2, X3, X4))
7.181946
est une réalisation ҧ𝑥4 de ത𝑋4
est une réalisation ҧ𝑥4 de ത𝑋4
est une réalisation ҧ𝑥4 de ത𝑋4
3 réalisations
successives et
imprévisibles fluctuant
autour de 𝜇 = 7
52. Théorème de la limite centrale
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 52
population
N
échantillon
n obs.
échantillon
n obs.
échantillon
n obs.
échantillon
n obs.
moyenne
ഥ𝒙1
moyenne
ഥ𝒙2
moyenne
ഥ𝒙3
moyenne
ഥ𝒙18
Exemple:
population des femmes en
France; on s’intéresse à leur
taille en mètres
𝜇 =
𝑥1 + 𝑥2 + … + 𝑥𝑁
𝑁
𝜎 =
σ𝑖=1
𝑁
𝑥𝑖 − 𝜇 2
𝑁
Exemple:
échantillons par région
Distribution d’échantillonnage
(sampling distribution)
la distribution de la moyenne
suit une loi normale
• de moyenne ~ 𝜇
• d’écart-type SE =
𝜎
𝑛
< 𝜎
Condition d’indépendance
• échantillonnage aléatoire
• taille d’échantillons n < 10% de N
Condition taille/symétrie
• soit la distribution de la
population suit une loi normale
• soit elle est pas trop « skewed »
avec n > 30
… …
53. Théorème de la limite centrale
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 53
taille des
échantillons
la distribution de la population ne
suit pas forcément une loi normale
courbe rouge: loi normale
plus grande la taille des
échantillons, plus on se rapproche
de la loi normale
Coursera , MOOC Data Analysis and Statistical Inference, Duke University
54. Théorème de la limite centrale
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 54
population
N
échantillon
n obs.
échantillon
n obs.
échantillon
n obs.
échantillon
n obs.
proportion
𝒑1
proportion
𝒑2
proportion
𝒑3
proportion
𝒑18
Exemple:
proportion de fumeurs en
France
Exemple:
échantillons par région
Distribution d’échantillonnage
(sampling distribution)
la distribution de la moyenne
suit une loi normale
• de moyenne ~ 𝑝
• d’écart-type SE =
𝑝(𝑝−1)
𝑛
Condition d’indépendance
• échantillonnage aléatoire
• taille d’échantillons n < 10% de N
Condition taille/symétrie
• np > 10 et n(1-p) ≥ 10
𝑝 =
𝑛𝑏 𝑑𝑎𝑛𝑠 𝑢𝑛𝑒 𝑠𝑜𝑢𝑠 𝑝𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛
𝑁
… …
55. La loi binomiale
• Loi de probabilité discrète qui modélise le
nombre de succès obtenus lors de la répétition
indépendante de plusieurs expériences
aléatoires identiques.
• Arbre de probabilité : à chaque génération de
l'arbre, deux branches partent de chaque nœud,
une pour le succès et une pour l'échec.
• Probabilité de k succès dans une répétition de n
expériences
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 55
une épreuve de Bernoulli: on utilise une variable
aléatoire qui prend la valeur 1 (succès) ou 0 (échec).
La v.a. X « somme de toutes ces variables aléatoires »
Wikipedia, La loi binomaile
56. La loi binomiale
• « D’après une enquête Gallup 2013, seulement 13% d’employés (au niveau mondiale) sont
motivés par leur travail. Si l’on prend un échantillon de 10 employés, quelles est la probabilité
que 8 employés soient motivés par leur travail ? »
• Probabilité de succès: p = 0.13
• Probabilité d’échec: 1 - p = 0.87
• Nombre d’épreuves: n = 10
• Nombre de succès: k = 8
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 56
>dbinom(x = 8, size = 10, prob = 0.13)
>2.77842e-06
>choose(n = 10, k = 8)
>45
Note:
>choose(n = 10,k = 8) * 0.13^8 * 0.87^2
>2.77842e-06
57. La loi binomiale
• Fonction de masse
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R
x <- 0:10
qplot(x = factor(x), ymin = 0, ymax = dbinom(x,10,0.13), geom = 'linerange')
58. La loi binomiale
• Probabilité P(1 ≤ X ≤ 3)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R
sum(dbinom(x = 1:3, size = 10, prob = 0.13))
0.7202718 # égale à l’aire
59. La loi binomiale
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 59
• dbinom(x, size, prob)
• donne la valeur P(X=k) sachant que X suit une loi B(n, p)
• dbinom(x = 8, size = 10, prob = 0.13) 2.77842e-06
• rbinom(n = 10, size, prob)
• donne un échantillon de taille 10 extrait d’une population suivant une loi B(n, p)
• rbinom(n = 10, size = 10, prob = 0.13) 3 1 1 1 2 4 1 0 1 1
• pbinom(q, size, prob)
• donne P(X ≤ k) sachant que X suit une loi B(n, p), c’est-à-dire la valeur de la fonction de répartition F(k)
• pbinom(q = 0:10, size = 10, prob = 0.13)
0.2484234 0.6196308 0.8692358 0.9686952 0.9947033 0.9993668 0.9999475 0.9999971 0.9999999
1.0000000 1.0000000
• qbinom(p, size, prob)
• est le quantile, c’est-à-dire la plus petite valeur x telle que F(x) = P(X ≤ x) ≥ q
• qbinom(p = 0.5, size = 10, prob = 0.13) 1
• qbinom(p = 0.9, size = 10, prob = 0.13) 3
60. L’hypothèse statistique
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 60
• Exemple d’une démarche classique; test d’hypothèse sur la moyenne d’une population:
• Recherches sur les enfants surdoués.
• Des chercheurs ont collecté des données provenant des écoles d’une grande ville. Ils ont sélectionné au hasard un échantillon de 36
enfants identifiés come surdoués juste après l’âge de 4 ans. Durant l’étude, en plus de la collecte des données des enfants, le QI de
leur mères respectives a été également collecté. Voir l’histogramme des QI des mères ci-dessous.
• Effectuer un test d’hypothèse afin d’évaluer si les données apportent suffisamment de preuves sur une différence existante entre la
moyenne des QI des mères d’enfants surdoués et celle, connue et égale à 100, d’une population plus large de mères. Considérer un
seuil de signification de 1%. »
1. Etablir les hypothèses: nulle (H0) et alternative (HA)
2. Estimation de la moyenne à partir des données ( ҧ𝑥 = 118.2)
3. Check des conditions: indépendance + n>30 + symétrie de
la distribution
4. Calculer la statistique Z = ( ҧ𝑥 − µ)/𝑆𝐸
5. Déterminer la p-value et la comparer à 1%
6. Prendre une décision (rejet ou pas de H0), interprétation
61. L’hypothèse statistique
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 61
• La finalité d’un test est de prendre une décision:
rejeter ou non l’hypothèse nulle.
• Définir un seuil de signification (α) du test:
pourcentage de chances de rejeter l’hypothèse
nulle, alors qu’en réalité celle-ci était vraie.
• lié au niveau du risque accepté (usuellement 5%).
• C’est la puissance du test (1 - β) qui donne une
estimation de la probabilité de trouver des
différences significatives (si elles existent) dans les
données.
1 - α
α 1 - β
β
62. L’hypothèse statistique
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 62
1. Etablir les hypothèses: nulle (H0) et alternative (HA)
• H0 : µ = 100; HA : µ ≠ 100
2. Estimation de la moyenne à partir des données
• ҧ𝑥 = 118.2
3. Check des conditions:
• indépendance et 36 < 10% population, n>30, symétrie de la distribution
• alors ത𝑋 ~ N(µ = 100, SE =
𝜎
𝑛
=
6.5
36
= 1.083)
4. Calculer la statistique
• Z = ( ҧ𝑥 − µ)/𝑆𝐸 = (118.2 - 100)/1.083 = 16.8
5. Déterminer la p-value et la comparer à α = 1% = 0.01
• p-value = P( ത𝑋 > 100 ou ത𝑋 < 100 | H0 : µ = 100) = P(Z < -16.8) + P(Z > 16.8)
• pnorm(q = -16.8) + pnorm(q = 16.8, lower.tail = FALSE) ~ 0
6. Prendre une décision (rejet ou pas de H0), interprétation
• p-value ~ 0 < α = 0.01 on rejette H0
63. Tableau de contingence
• 2 variables catégorielles
• départements d’IDF (IDF)
• type de voiture (TV)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 63
Ber23Neuve Ber45Neuve BreakNeuf MonospNeuf Bar23Occas Ber45Occas BreakOccas MonospOccas
Paris 7 592 29 211 5 743 15 016 18 946 41 123 4 181 9 824
Seine-et-Marne 5 058 17 810 2 604 10 216 23 794 60 408 5 410 13 865
Yvelines 9 371 35 977 7 707 21 133 23 741 58 578 5 474 14 870
Essonne 5 121 18 230 2 702 10 653 21 935 54 347 4 589 13 073
Hauts-de-Seine 8 187 35 629 7 565 24 885 20 464 45 076 4 237 11 839
Seine-Saint-Denis 2 738 12 803 1 746 7 286 23 872 62 764 4 336 11 705
Val-de-Marne 4 072 14 977 1 977 8 057 19 683 45 512 3 288 10 541
Val-d'Oise 4 227 15 380 2 306 8 151 21 738 53 258 4 111 11 595
Cette table peut être importée à partir d’un fichier texte: voitures_IDF.txt
Etant donnée que le format d’importation est un data.frame alors on doit convertir ce dernier au
format table afin d’effectuer les manipulations qui suivent
table_IDF <- as.table(as.matrix(df))
1092307
total
effectifs
65. Distributions marginales (2)
• A partir du tableau de contingence précédent, obtient uniquement les marges en bas et à droite
• margin.table(table_IDF, margin = 1)
• margin.table(table_IDF, margin = 2)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 65
Total
131 636
139 165
176 851
130 650
157 882
127 250
108 107
120 766
Total 46366 180017 32350 105397 174173 421066 35626 97312
66. Distribution conjointe
• P(TV, IDF) : à partir du tableau de contingence, on divise par le total d’effectifs:
tdjoint <- table_IDF/sum(table_IDF)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 66
Ber23Neuve Ber45Neuve BreakNeuf MonospNeuf Bar23Occas Ber45Occas BreakOccas MonospOccas
Paris 0.0070 0.0267 0.0053 0.0137 0.0173 0.0376 0.0038 0.0090
Seine-et-Marne 0.0046 0.0163 0.0024 0.0094 0.0218 0.0553 0.0050 0.0127
Yvelines 0.0086 0.0329 0.0071 0.0193 0.0217 0.0536 0.0050 0.0136
Essonne 0.0047 0.0167 0.0025 0.0098 0.0201 0.0498 0.0042 0.0120
Hauts-de-Seine 0.0075 0.0326 0.0069 0.0228 0.0187 0.0413 0.0039 0.0108
Seine-Saint-Denis 0.0025 0.0117 0.0016 0.0067 0.0219 0.0575 0.0040 0.0107
Val-de-Marne 0.0037 0.0137 0.0018 0.0074 0.0180 0.0417 0.0030 0.0097
Val-d'Oise 0.0039 0.0141 0.0021 0.0075 0.0199 0.0488 0.0038 0.0106
Total
0.1205
0.1274
0.1619
0.1196
0.1445
0.1165
0.0990
0.1106
Total 0.0424 0.1648 0.0296 0.0965 0.1595 0.3855 0.0326 0.0891 1
67. Distributions conditionnelles
• Profils lignes: à partir du tableau de contingence, on divise les effectifs par le total ligne
• Distribution conditionnelle de TV sachant IDF
• P(TV | IDF) = prop.table(x = table_IDF, margin = 1)
Ber23Neuve Ber45Neuve BreakNeuf MonospNeuf Bar23Occas Ber45Occas BreakOccas MonospOccas
Paris 0.05767419 0.22190738 0.04362788 0.11407214 0.14392719 0.31239934 0.03176183 0.07463004
Seine_et_Marne 0.03634535 0.12797758 0.01871160 0.07340926 0.17097690 0.43407466 0.03887472 0.09962994
Yvelines 0.05298811 0.20343114 0.04357906 0.11949607 0.13424295 0.33122798 0.03095261 0.08408208
Essonne 0.03919633 0.13953310 0.02068121 0.08153846 0.16789131 0.41597398 0.03512438 0.10006123
Hauts_de_Seine 0.05185518 0.22566854 0.04791553 0.15761771 0.12961579 0.28550436 0.02683650 0.07498638
Seine_Saint_Denis 0.02151670 0.10061297 0.01372102 0.05725737 0.18759921 0.49323379 0.03407466 0.09198428
Val_de_Marne 0.03766639 0.13853867 0.01828744 0.07452801 0.18206962 0.42099032 0.03041431 0.09750525
Val_dOise 0.03500157 0.12735373 0.01909478 0.06749416 0.18000099 0.44100161 0.03404104 0.09601212
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 67
68. Distributions conditionnelles
• Profils colonnes: à partir du tableau de contingence, on divise les effectifs par le total colonne
• Distribution conditionnelle de IDF sachant TV
• P(IDF | TV) = prop.table(x = table_IDF, margin = 2)
Ber23Neuve Ber45Neuve BreakNeuf MonospNeuf Bar23Occas Ber45Occas BreakOccas MonospOccas
Paris 0.16374067 0.16226801 0.17752705 0.14247085 0.10877691 0.09766402 0.11735811 0.10095363
Seine_et_Marne 0.10908856 0.09893510 0.08049459 0.09692876 0.13661130 0.14346445 0.15185539 0.14247986
Yvelines 0.20210930 0.19985335 0.23823802 0.20050855 0.13630701 0.13911833 0.15365183 0.15280746
Essonne 0.11044731 0.10126821 0.08352396 0.10107498 0.12593800 0.12907003 0.12881042 0.13434109
Hauts_de_Seine 0.17657335 0.19792020 0.23384853 0.23610729 0.11749238 0.10705210 0.11892999 0.12166023
Seine_Saint_Denis 0.05905189 0.07112106 0.05397218 0.06912910 0.13705913 0.14905977 0.12170886 0.12028321
Val_de_Marne 0.08782297 0.08319770 0.06111283 0.07644430 0.11300833 0.10808757 0.09229215 0.10832169
Val_dOise 0.09116594 0.08543638 0.07128284 0.07733617 0.12480694 0.12648373 0.11539325 0.11915283
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 68
69. Fonctions graphiques
• pour les variables quantitatives continues
histogramme, boîte à moustache (boxplot)
• pour les variables quantitatives discrètes
• tuyaux d’orgue, mosaïque
• pour les variables qualitatives
• diagramme de Pareto, empilé, circulaire
• pour les variables ordinales
• tuyaux d’orgue avec courbe de fréquence cumulée
• dans un cadre bivarié
• Croisement de deux variables quantitatives: nuage de points
• Croisement d’une variable quantitative et d’une variable qualitative: boxplot, stripchart
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 69
70. R package ggplot2
• library(ggplot2)
• Wilkinson, L., Grammar of Graphics, 1999
• 2 principes
• Graphiques = différentes couches d’éléments
« grammaticaux »
• couches = noms, adjectifs, etc.
• Visualisations pertinentes via un mapping
d’esthétiques (aesthetic)
• règles grammaticales
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 70
Elément Description
Data Les données à visualiser
Esthétique
(Aesthetics)
Les échelles sur lesquelles on
mappe les données
Géométrie Les éléments visuels utilisés pour les
données
Facettes (Facets) comment diviser notre graphique
Statistiques Représentation des données pour
faciliter la compréhension
Coordonnées L’espace dans lequel les données
seront affichées
Thèmes Tout élément « non data »
71. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 71
o Coordinates
o Statistics
o Facets
o Geometries
o Aesthetics
o Data
72. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 72
• >View(iris)
73. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 73
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) +
geom_point()
o Geometries
o Aesthetics
o Data
74. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 74
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, col=Species)) +
geom_point()
o Geometries
o Aesthetics
o Data
75. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 75
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, col=Species)) +
geom_jitter()
o Geometries
o Aesthetics
o Data
76. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 76
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) +
geom_jitter() +
facet_grid(. ~ Species)
o Facets
o Geometries
o Aesthetics
o Data
77. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 77
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) +
geom_jitter() +
facet_grid(. ~ Species) +
stat_smooth(method="lm", se=F, col="red")
o Statistics
o Facets
o Geometries
o Aesthetics
o Data
78. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 78
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) +
geom_jitter() +
facet_grid(. ~ Species) +
stat_smooth(method="lm", se=F, col="red") +
scale_y_continuous("Sepal Width (cm)", limits=c(2,5), expand=c(0,0)) +
scale_x_continuous("Sepal Length (cm)", limits=c(4,8), expand=c(0,0)) +
coord_equal()
79. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 79
DataCamp, MOOC Data Visualization with ggplot2 (1)
80. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 80
Elément Exemples d’éléments
Data variables d’intérêt
Aesthetics x-axis
y-axis
colour
fill
size
labels
alpha
shape
line width
line type
Géométrie point line histogram bar boxplot
Facets columns rows
Statistiques binning smoothing descriptive inferential
Coordonnées cartesian fixed polar limits
Thèmes
81. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 81
• Notion de données « tidy » (tidy data)
Comment changer la structure de vos données
pour réaliser le graphique désiré ?
DataCamp, MOOC Data Visualization with ggplot2 (1)
82. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 82
• package« tidy » (tidy data)
83. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 83
Wong B., Nat Met, 2010, p665
84. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 84
• Statistics: stat_
• stat_bin()compte le nombre d’observations
dans un groupe
• les fonctions suivantes appellent sta_bin()
• geom_histogram()
• geom_bar()
• geom_freqploy()
• stat_smooth()dessine une courbe avec un
standard error (intervalle de confiance à 95%)
• les fonctions suivantes appellent stat_smooth()
• geom_smooth()
voir message
« warning »
voir message
« warning »
datasets de
grande taille
DataCamp, MOOC Data Visualization with ggplot2 (1)
85. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 85
• Statistics: stat_
• Données mammals du package MASS
DataCamp, MOOC Data Visualization with ggplot2 (1)
DataCamp, MOOC Data Visualization with ggplot2 (1)
86. R package ggplot2
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 86
• Q-Q plot
• Données mammals du package MASS
DataCamp, MOOC Data Visualization with ggplot2 (1)
DataCamp, MOOC Data Visualization with ggplot2 (1)
87. Bibliographie
• Lafaye et al., Le logiciel R, ISBN 9782817801148, Springer, 2012
• Chiquet J., Commandes usuelles de R,
http://www.math.unicaen.fr/~chesneau/RCarte_Commandes-R.pdf, octobre 2015
• Griffiths D., Head First Statistics, O’Reilly, ISBN 9780596527587, 2008
• Ryan G., R Essentials Refcard #232, DZone, https://dzone.com/refcardz/r-essentials-1
• Site « Quick-R », http://www.statmethods.net/
• Coursera , MOOC Data Analysis and Statistical Inference, Duke University
• DataCamp, MOOC Data Visualization with ggplot2 (1)
• Niang Keita D., CNAM Module STA115 - Outils informatique de la statistique
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - INTRODUCTION AU LOGICIEL R 87