Initiation `a l`analyse statistique des données
Transcription
Initiation `a l`analyse statistique des données
Initiation à l’analyse statistique des données expérimentales Christophe Pallier et Christophe Lalanne [email protected] / [email protected] Mastère de Sciences Cognitives, EHESS – Paris 5 – ENS Stats avec R – p. 1 But du cours et Méthode Amener les étudiants au point d’être capable de réaliser des analyses de données simples (comparaisons de moyennes, détection de corrélation,...) en comprenant ce qu’ils font. Enseigner en parallèle les concepts théoriques et la pratique d’un logiciel de statistique (“R”) Transmettre de “bonnes habitudes”: exploration graphique et descriptive des données. Travailler avec des jeux de données simulés et pas seulement des données réelles Stats avec R – p. 2 Choix du logiciel de statistique ”R” Avantages: logiciel très flexible et très puissant. Permettant de réaliser de une analyse de données de A à Z: 1. manipulations et transformation des données brutes 2. analyses statistique 3. génération de graphiques prêts à publiés. logiciel libre (et donc gratuit...) multiplateformes (Linux, MacOSX, Windows,...) de nombreuses documentations existent Particularité: R est un langage, ce qui rend son apprentissage plus difficile qu’un logiciel “cliquodrôme”. Stats avec R – p. 3 Ressources Livres conseillés: Howell, D.C. (1998). Méthodes Statistiques en Sciences Humaines. De Boeck Université. Crawley, M.J. (2005). Statistics – An Introduction using R. Wiley. Sur le site de R (www.r-project.org) voir la rubrique ’Documentation/Other/Contributed’. A signaler: R pour les débutants (pdf) Notes on the use of R for psychology experiments and questionnaires (pdf) Sur le Web: http://www.pallier.org/ressources/tp.stats/ (cours 2005–2006) www.aliquote.org/cours/index 2006.html (cours 2006–2007) zoonek2.free.fr/UNIX/48 R 2004/all.html (Statistiques avec R) Stats avec R – p. 4 Démarrage de R, Accéder à l’aide Ouvrir un terminal et entrer “R”. L’interaction avec R se fait en tapant des commandes. Entrer les commandes suivantes: demo(graphics) demo(persp) help.start() help.search(’Student’) ?t.test q() Stats avec R – p. 5 Utiliser R comme une calculatrice opérations arithmétiques 3.14*5 1.05^6 (1+1i) * (5+6i) fonctions sin(pi/4) log10(20) lfactorial(100) variables a <- 34 a a + 1/a Stats avec R – p. 6 Le vecteur, objet de base de R b <- c(1,10,20,50) b 1+b 2*b a <- c(0,1,0,1) a+b a %*% b sqrt(b) log(b) mean(b) plot(b) plot(b,type=’l’) # assignement # opérations # produit scalaire # fonctions Stats avec R – p. 7 Créer des vecteurs dat <- scan(’’) dat (dat<-c(alpha=1,beta=3,delta=8)) dat <- runif(100,min=0,max=10) seq(1,10) # séries 1:10 seq(1,10,by=2) c(b,b) c(b,0,b,a) # concaténation rep(b,10) # répétitions rep(a,c(5,4,3,5)) gl(3,10) Stats avec R – p. 8 Exercices Calculer la somme des nombres de 1 à 100 Calculer le produit des nombres de 1 à 100 Créer un vecteur contenant 10 ’1’ suivi de 10 ‘’2’ Créer un vecteur contenant 10 fois la série de nombre 1 à 10 Créer un vecteur contenant 1 ’1’, puis 2 ’2’, puis 3 ’3’, jusqu’à 20. Afficher la fonction log de factoriel sur l’intervalle [1,100] Afficher la fonction sinus(x)/x sur l’intervalle [-6π, 6π] Stats avec R – p. 9 Quitter R, Workspace Quitter R: q() Redémarrer R, puis entrer: ls() history() Utiliser un éditeur de texte pour sauver les commandes suivantes dans un fichier ‘monscript.R’ # monscript.R a<-scan(’http://www.pallier.org/misc/a.dat’) max(a) Puis exécuter dans R: source(’monscript.R’,echo=T) Et, en ligne de commande unix: R -q --vanilla <monscript.R Stats avec R – p. 10 fonctions graphiques Stats avec R – p. 11 fonctions graphiques 1. Exécuter les lignes suivantes: a=rnorm(100,mean=100, sd=10) plot(a) boxplot(a) hist(a) rug(a) hist(a,breaks=20) plot(density(a)) qqnorm(a) 2. Jouer avec la taille de l’échantillon alétoire (10, 20, 1000). 3. Essayer d’autres lois: runif, rbinom, rcauchy 4. Afficher, côte à côte, 20 boxplots d’échantillons normaux (N(0,1)) de 10 éléménts, puis de 100 éléments, puis de 1000 éléments 5. Créer un vecteur “mixture” (50 échantillons N(0,1) et 50 échantillons N(2,3)) et afficher son histogramme et sa densité estimée. Stats avec R – p. 12 Exploration de données data(iris) help(iris) head(iris) summary(iris) attach(iris) plot(iris) plot(iris, col=as.numeric(iris$Species)) boxplot(Petal.Length) boxplot(iris[,1:4]) boxplot(Petal.Width~Species) Stats avec R – p. 13 Exploration de données sujet=gl(10,10) condition=gl(5,2,100) y=rnorm(100,mean=10)+rep(rnorm(10,sd=2),rep(10,10))+ \ rep(rep(rnorm(5),2),10) d<-data.frame(sujet,condition,y) d table(a,b) par(mfrow=c(2,2)) plot(y~sujet) barplot(tapply(y,sujet,mean)) plot(y~condition) barplot(tapply(y,condition,mean)) x11() interaction.plot(condition,sujet,y) l=aov(y~condition+Error(sujet/condition)) summary(l) Stats avec R – p. 14 Résumé des commandes graphiques de base univarié: continue: hist(x), rug(x), plot(density(x)), boxplot(x) discrete: barplot(table(x)) bivarié (2 variables) continues: plot(x, y), qqplot(x, y) discretes: mosaicplot(x, y) 1 continue, 1 discrete: boxplot(x a) multivariées: matplot, pairs, ggobi Stats avec R – p. 15