Vous êtes sur la page 1sur 25

Cours 6 : Les statistiques avec R

XVII- Gnralits
XVIII- Les formules
XIX- Les sorties
XX- Les fonctions gnriques
XVII- Gnralits

Fonctions danalyse statistique disponibles

 Package stats : contient les fonctions d'analyse statistique


classiques (tests dhypothses classiques, modles linaires,
distributions, rsums statistiques, sries temporelles, analyses
multivaries). Il est charg au dmarrage. Accessibles avec
library(help="stats")

 Packages spcifiques : d'autres packages de mthodes statistiques


sont disponibles, distribus avec R ou tlcharger.
Exemples :

class : fonctions pour classification


boot : fonctions bootstrap
stats4: fonctions stats utilisant S4
survival : analyse de survie
XVII- Gnralits
 Quelques fonctions dans stats :

Modlisation
SSlogis Modle logistique
aov Analyse de variance
glm Modles linaires gnraliss
lm Modles linaires
manova Analyse de variance multivarie
ksmooth Kernel Regression Smoother
step Choix dun modle par lalgorithme Stepwise

Tests
bartlett.test Test de Bartlett dhomognit de variances
binom.test Test Binomial exact
chisq.test Test du Chi2
cor.test Test d Association/Correlation
t.test t-Test de Student de comparaison de moyennes
var.test F Test de Fisher de comparaison de Variances
wilcox.test Test de rang de Wilcoxon
ks.test Tests de Kolmogorov-Smirnov
XVII- Gnralits

Estimation

density Estimation de densit par noyaux


ecdf Fonction de rpartition empirique

Analyse des donnes


hclust Classifications hirarchiques
kmeans Classifications par partitionnement
princomp Analyse en composantes principales
prccomp Analyse en composantes principales
dist Calcul de matrices de distance
XVIII- Les formules

 Syntaxe des principales fonctions : les formules

 Certaines fonctions statistiques (en particulier les fonctions de


modlisation) travaillent sur des formules (?formula):

fonction (formula=, data =)

formula= de type rponse ~ prdicteurs


data= tableau de donnes ventuel dans lequel se trouvent
les variables dans la formule.

rponse = variable expliquer


predicteurs=ensemble des variables explicatives, spares par des
symboles arithmtiques qui ont ici une signification particulire.
XVIII- Les formules

 Exemple de formules :

y~a : prdicteur a
y~a+b : prdicteurs a et b
y~M : autant de modles que de predicteurs dans M (matrice)
y ~ x - 1 ( ou y ~ 0 + x) : modle sans terme constant.
y~log(b)
y ~ a + I(b+c) : predicteurs a et (b+c)

y~a:b : interactions de a et b
y~a*b : a+b+a:b effets principaux et interaction entre a et b
y~(a+b)^2 : effets principaux a et b et interactions du second ordre
a+b+a:b
y=a*b-a:b : a+b
XVIII- Les formules

 Exemples de fonctions travaillant sur des formules

Exemple 1 : Rgression linaire simple (RLS) de y sur x ( x et y quantitatives)


>x=sample(s,200,replace=TRUE);y=3+7*x+rnorm(200,0,100)
> regression=lm(y~x)
Exemple 2 : Rgression linaire multiple (RLM) de la fertilit sur lducation
et la mortalit infantile (toutes les variables sont quantitatives)
> data(swiss)
>fit = lm(Fertility~ Education+Infant.Mortality,swiss)

Exemple 3 : Analyse de variance un facteur. Ici, analyse de leffet du facteur


insecticide 6 niveaux (spray) sur la rponse nombre dinsectes (count), base sur
lobservation de 12 cultures, tour tour pulvrises par les 6 insecticides (la rponse
est quantitative, le facteur est un facteur)
> data(InsectSprays)
>anov=aov(sqrt(count) ~ spray, data = InsectSprays);anov
XVIII- Les formules

 Autres syntaxes : Dautres fonctions travaillent sur des matrices,


des vecteurs ou des data.frame (tests statistiques, analyse des
donnes)
XVIII- Les formules

 Exemples de fonctions ne travaillant pas sur les formules

Exemple 4 : Test du chi2 : On veut tester le lien existant entre de variables


qualitatives X et Y partir dun chantillon sous forme de table de contingence (de
croisement)
>O=matrix(c(442,514,38,6),nrow=2,byrow=TRUE)
> colnames(O)=c("homme","femme"); rownames(O)=c("voyant","aveugle")
X2=chisq.test(O,correct=FALSE)

Exemple 5 : Test de student : on veut tester legalit entre deux moyennes au vu dun
chantillon de chaque sous-population x= (X1, . . . , Xn1) et y=(Y1, . . . , Yn2) :
>x = rnorm(100,1,1); y = rexp(200,1)
>st=t.test(x,y) #Test de student (resp. de Welch) dgalit de moyennes si variances des
#variables gales (resp. diff rentes)
>x = rnorm(100,1,1); #avec sous populations identifies par un facteur deux niveaux
>z=rep(c(T,F),50) # de stratification
>st2=t.test(x~z)
XIX- Les Sorties

 Pour afficher un bref rsum de lanalyse , taper le nom de lobjet cr par la


fonction:
>regression #exemple 1 Paramtres estims.
Call: Droite de rgression :
lm(formula = Y ~ X) y = 10.91x 30.53

Coefficients: (paramtres estims)


(Intercept) X
-30.53 10.91
Nbre de degres de liberts
>anov
Call:
aov(formula = sqrt(count) ~ spray, data = InsectSprays)
Terms: (table danalyse variance) Somme des carrs intra-classe
spray Residuals
Sum of Squares 88.43787 26.05798
Deg. of Freedom 5 66 Somme des carrs inter-classes
Residual standard error: 0.6283453 (rsiduels)
Estimated effects may be unbalanced
Ecart-type estim des rsidus
XIX- Les Sorties

> X2
Pearson's Chi-squared test
Valeur de la statistique de test du chi2
data: tab
X-squared = 27.1387, df = 1, p-value = 1.894e-07
P(X>X-squared )
X v.a. de loi X(1)
XIX- Les Sorties

> st Test t pour variances ingales

Welch Two Sample t-test P(T>t )


data: x and y T v.a. de loi T(178.446)
t = -0.2178, df = 178.446, p-value = 0.8278
alternative hypothesis: true difference in means is not equal to
0
95 percent confidence interval:
-0.2648092 0.2121608
sample estimates: mean of x : 0.9544127 mean of y : 0.9807369

x et y
XIX- Les Sorties

 Les fonctions statistiques de R retournent un objet de classe


emprunte au nom de la fonction (aov retourne un objet de classe
"aov", lm retourne un objet de classe "lm" , les tests retournent des
objets de classe "htest " ).

 Cet objet contient les rsultats de lanalyse. Cest gnralement une


liste dont l'affichage est dtermin par sa classe (aov() et lm()
produisent des listes diffrentes).

 On peut regarder les lments de l'objet liste cre et afficher les


noms de la liste associe par les fonctions attributes() et
names().
XIX- Les Sorties

>names(regression) #ou names(fit)


[1] "coefficients" "residuals" "effects" "rank"
[5] "fitted.values" "assign" "qr" "df.residual"
[9] "xlevels" "call" "terms" "model"

> names(anov)
[1] "coefficients" "residuals" "effects" "rank"
[5] "fitted.values" "assign" "qr" "df.residual"
[9] "contrasts" "xlevels" "call" "terms" "model"
XIX- Les Sorties

>attributes(X2)

$names
[1] "statistic" "parameter" "p.value" "method" "data.name" "observed"
[7] "expected" "residuals"

$class
[1] "htest
XIX- Les Sorties

 Pour extraire les lments de la liste , on utilise les fonctions du mme nom que ces
lments :

>coefficients(fit) # ou fit$coefficients #coefficients de la regression

(Intercept) Education Infant.Mortality


48.8212736 -0.8166573 1.5187190

>regression$residuals #ou residuals(regression) #residus observs


1 2 3 4 5 6
-123.946168 191.916329 -208.535569 64.916267 133.420840 84.429343
7 8 9 10 11 12
62.864581 46.774152 59.915367 -57.501492 -124.808049 166.122648
13 14 15 16 17 18
-31.454873 68.544191 15.157573 -84.833735 -8.562422 -85.613688
19 20 21 22 23 24
-23.749085 -90.788796 50.403354 39.877642 -53.584722 8.778597
25 26 27 28 29 30
1.148411 94.606969 28.210454 21.132875 -162.464691 -82.376306
XIX- Les Sorties

> X2$expected #tableau des effectifs thoriques


homme femme
voyant 458.88 497.12
aveugle 21.12 22.88

>X2$residuals
homme femme
voyant -0.787994 0.7570801
aveugle 3.673039 -3.5289413

>sum(X2$residuals^2)
27.13874
la somme des carrs des rsidus est la valeur du chi-deux
XX- Les fonctions gnriques
 Certaines fonctions sont aussi utilises pour extraire les rsultats dsirs :
les fonctions gnriques.
 Elles agissent spcifiquement en fonction de la classe de l'objet.
 Les fonctions gnriques ont une syntaxe unique pour tous les cas.
XX- Les fonctions gnriques
 Principales fonctions gnriques permettant d'extraire des informations
d'un objet qui rsulte d'une analyse:

print() : retourne un rsum succint de lanalyse


summary() : retourne un rsum dtaill de lanalyse
df.residual() : retourne le nombre de degrs de liberts du rsidu
coef (): retourne les coefficients estims avec parfois leurs erreurs-standard
residuals() : retourne les rsidus
fitted() : retourne les valeurs ajustes par le modle
logLik() : calcule la vraisemblance et le nombre de paramtres dun modle
AIC() : calcule le critre dinformation dAkaike
anova():table danalyse de la variance
plot() : graphique adapt lanalyse. Rsidus du modle pour modlisation.
XX- Les fonctions gnriques
 Exemple : summary() permet d'afficher un rsum dtaill de lanalyse,
spcifique la classe de lobjet.

> apropos("^summary")

[1] "summary.aov" "summary.aovlist" "summary.glm"


[4] "summary.infl" "summary.lm" "summary.manova"
[7] "summary.mlm" "summary.stepfun" "summaryRprof"
[10] "summary" "summary.connection" "summary.data.frame"
[13] "summary.Date" "summary.default" "summary.factor"
[16] "summary.matrix" "summary.POSIXct" "summary.POSIXlt"
[19] "summary.table"
>
XX- Les fonctions gnriques
> summary(regression)
Call:
lm(formula = Y ~ X) Coefficient de dtermination
(=r)
Residuals:
Min 1Q Median 3Q Max
-206.89 -76.47 12.28 61.42 192.04 Tests de student de nullit des
coefficients
Coefficients:
Estimate Std. Error t value Pr(>|t|) Ecart-type rsiduel et nombre
(Intercept) -30.2553 34.3536 -0.881 0.386 de dl des residus (n-2)
X 7.4199 0.5869 12.642 4.31e-13 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Test de fisher
Residual standard error: 96.41 on 28 degrees of freedom de
Multiple R-Squared: 0.8509, Adjusted R-squared: 0.8456 Significativite
F-statistic: 159.8 on 1 and 28 DF, p-value: 4.312e-13 du
modle
XX- Les fonctions gnriques
Somme des carrs inter-classe
>summary(anov)
Variance inter-classe

Df Sum Sq Mean Sq F value Pr(>F)


spray 5 88.438 17.688 44.799 < 2.2e-16 ***
Residuals 66 26.058 0.395 Test de Fisher de
--- significativit du modle
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

Variance intra-classe

Somme des carrs intra-classe


XX- Les fonctions gnriques
 Exemple : plot() retourne des graphes choisis pour lanalyse en
question

>apropos("^plot")

[1] "plot.density" "plot.ecdf" "plot.lm"


[4] "plot.mlm" "plot.spec" "plot.spec.coherency"
[7] "plot.spec.phase" "plot.stepfun" "plot.ts"
[10] "plot.TukeyHSD" "plot" "plot.default"
[13] "plot.design" "plot.new" "plot.window"
[16] "plot.xy"
XX- Les fonctions gnriques
> par(mfrow=c(2,2))
> plot(anov)
> par(mfrow=c(2,2))
> plot(anov)