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