le logiciel r - université de nantesphilippe/... · le langage r plan 1 le langage r 2 graphiques...

13
Le logiciel R Anne PHILIPPE Universit´ e de Nantes, Laboratoire de Math´ ematiques Jean Leray Journ´ ees acad´ emiques 2009 de l’IREM des Pays de la Loire Nantes, le 29 juillet 2010 Email : [email protected] www.math.sciences.univ-nantes.fr/philippe Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 1 / 50 Le logiciel R a ´ et´ e cr´ e par Robert Gentleman et Ross Ihaka . C’est une impl´ ementation gratuite de Splus. Le logiciel R est disponible sur le site http://cran.r-project.org/ Il existe des versions Windows MacOS Linux. Outils disponibles : un langage de programmation orient´ e objet des fonctions de ”base” des librairies compl´ ementaires (1800 sur le site CRAN) Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 2 / 50 Documentations Initiation au logiciel R : www.math.sciences.univ-nantes.fr/philippe/R.html Site consacr´ e aux graphiques addictedtor.free.fr/graphiques/ Collection sp´ ecifique UseR chez Springer Plus de 80 livres, par exemple Introductory Statistics With R Bayesian Computation With R Applied Statistical Genetics With R : Generalized Additive Models : An Introduction with R Extending the Linear Model With R Time Series Analysis And Its Applications : With R Examples Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 3 / 50 Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 4 / 50

Upload: others

Post on 14-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Le logiciel R

Anne PHILIPPE

Universite de Nantes,Laboratoire de Mathematiques Jean Leray

Journees academiques 2009 de l’IREM des Pays de la LoireNantes, le 29 juillet 2010

Email : [email protected]/∼philippe

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 1 / 50

Le logiciel R a ete cree par Robert Gentleman et Ross Ihaka .C’est une implementation gratuite de Splus.Le logiciel R est disponible sur le site

http://cran.r-project.org/

Il existe des versions

Windows

MacOS

Linux.

Outils disponibles :

un langage de programmation oriente objet

des fonctions de ”base”

des librairies complementaires (1800 sur le site CRAN)

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 2 / 50

Documentations

Initiation au logiciel R :

www.math.sciences.univ-nantes.fr/∼ philippe/R.html

Site consacre aux graphiques

addictedtor.free.fr/graphiques/

Collection specifique UseR chez Springer

Plus de 80 livres,par exemple

Introductory Statistics With RBayesian Computation With RApplied Statistical Genetics With R :Generalized Additive Models : An Introduction with RExtending the Linear Model With RTime Series Analysis And Its Applications : With R Examples

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 3 / 50 Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 4 / 50

Page 2: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Le langage R

Plan

1 Le langage R

2 Graphiques

3 Statistique descriptive

4 Autour des lois de probabilites

5 Tests

6 Regression

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 5 / 50

Le langage R

Objets

Fonctions

Vecteurs, Matrices, etc

Listes : C’est une structure qui regroupe des objets (pasnecessairement de meme type).

Example

>rdn=list(serie=c(1:100),taille=100,type="arithm")

Cette liste contient

un vecteur dans serie

un scalaire dans taille

une chaıne de caracteres dans type

...

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 6 / 50

Le langage R

Quelques fonctions usuelles

Les operations + - / * sont des operations terme a terme

Idem por les fonctions :

sqrt square root

abs absolute value

sin cos tan trigonometric functions (radians)

exp log exponential and natural logarithm

log10 common logarithm

gamma lgamma gamma function and its natural log

Example

Soit A = (ai ,j) t une matrice, exp(A) retourne une matrice constituee deselements eai,j .

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 7 / 50

Le langage R

1 sum() (somme∑

i xi ), prod() (produit∏

i xi ), mean() (moyenne1n

∑ni=1 xi )

max(), min()

length(), ncol(), nrow()

Ces fonctions retournent un scalaire.

2 cumsum() (sommes cumulees (x1, x1 + x2, . . . ,∑n

i=1 xi ), cumprod()

(produits cumules),sort (tri), order, unique

remarque : sort(x) = x[order(x)]

fft() (transforme de Fourier)

Ces fonctions retournent un vecteur.

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 8 / 50

Page 3: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Le langage R

Structures de controles et Iterations

Instructions conditionnellesif (condition) {instructions}

if (x>0) y=x*log(x) else y=0

Iterations

> for ( i in 1:10) { ...... }

> while (i< 11) {........}

> repeat { .... ; if (i> 10) break }

La fonction apply() permet d’effectuer des operations sur leslignes ou les colonnes d’une matrice.

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 9 / 50

Le langage R

Importer/exporter des donnees

1 Importer une suite : x=scan("data.dat") : pour creer un vecteura partir de donnees stockees dans un fichier, ici data.dat.

2 Importer un tableau : x=read.table("data.dat")

3 Exporter : write, write.table

4 Importer / exporter aux formats des differents logiciels commerciaux(SAS , matlab , minitab SPSS etc )

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 10 / 50

Le langage R

Creer des fonctions

La structure generale d’une fonction est

>myname=function(liste_des_parametres)

{

commandes

list(variables-retournees-par la fct)

}

Les accolades { et } definissent le debut et la fin de la fonction.

La derniere instruction contient le nom de l’objet retourne par lafonction.

On peut donner des valeurs par defaut aux parametres

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 11 / 50

Le langage R

Exemple

>PF = function(n)

{

u=runif(n) #nb aleatoire suivant Unif(0,1)

pf=(u>1/2)

freq=sum(pf)/n

list(pile.face=pf, size=n, freq.pile=freq)}

}

>PF(5)

$pile.face

[1] TRUE TRUE TRUE FALSE FALSE

$size

[1] 5

$freq.pile

[1] 0.6

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 12 / 50

Page 4: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Graphiques

Plan

1 Le langage R

2 Graphiques

3 Statistique descriptive

4 Autour des lois de probabilites

5 Tests

6 Regression

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 13 / 50

Graphiques

Fonction ”centrale” plot

Le graphique produit par la fonction plot(x) depend de la classe del’objet x.

> methods(plot)

[1] plot.acf* plot.add plot.data.frame*

[4] plot.Date* plot.decomposed.ts* plot.default

[7] plot.dendrogram* plot.density plot.ecdf

[10] plot.factor* plot.formula* plot.hclust*

[13] plot.histogram* plot.HoltWinters* plot.isoreg*

[16] plot.ker plot.lm plot.medpolish*

[19] plot.mlm plot.POSIXct* plot.POSIXlt*

[22] plot.ppr* plot.prcomp* plot.princomp*

[25] plot.profile.nls* plot.spec plot.spec.coherency

[28] plot.spec.phase plot.stepfun plot.stl*

[31] plot.table* plot.ts plot.tskernel*

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 14 / 50

Graphiques

plot( )

5 10 15 20 25

020

4060

80100

speed

dist

plot(cars)

-2 0 2 4 6

-1.0-0.5

0.00.5

1.0

x

sin (x)

plot(sin, -pi, 2*pi)

05

1015

20

plot(table(rpois(100,5)))

table(r

pois(1

00, 5))

1 2 3 4 5 6 7 8 9 11 0 10 20 30 40

-10

12

plot(x, type = "s")

Index

x <- so

rt(rnorm

(47))

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 15 / 50

Graphiques

demo(graphics)plot(... ) pie(... ) boxplot(... )

0 10 20 30 40 50

-2-1

01

2

Simple Use of Color In a Plot

Just a Whisper of a Label

12

34

56789

101112

1314151617 18 19 20

21222324

A Sample Color Wheel

(Use this as a test of monitor linearity)

Blueberry

Cherry

Apple

Boston CreamOther

Vanilla Cream

January Pie Sales

(Don't try this at home kids)

1 2 3 4 5 6 7 8 9

-20

24

6

Notched Boxplots

Group

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 16 / 50

Page 5: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Graphiques

polygon(x,y,..) plot(x... ) hist(x..)

0 20 40 60 80 100

-50

5

Time

Distance

Distance Between Brownian Motions

0.0

0.5

1.0

1.5

2.0

Jan Mar May Jul Sep Nov

The Level of Interest in R

1996

x

Freque

ncy

-4 -2 0 2 4

050

100150

200

1000 Normal Random Variates

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 17 / 50

Graphiques

biplot : pairs(matrice, ....)

Sepal.Length

2.0 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5

4.55.5

6.57.5

2.02.5

3.03.5

4.0

Sepal.Width

Petal.Length

12

34

56

7

4.5 5.5 6.5 7.5

0.51.0

1.52.0

2.5

1 2 3 4 5 6 7

Petal.Width

Edgar Anderson's Iris Data

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 18 / 50

Graphiques

contour(x, y, matrice.... ) image( ) persp( )

x

y

100 200 300 400 500 600 700 800

100

200

300

400

500

600

Maunga Whau Volcano

x

y

z

x

y

zAnne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 19 / 50

Statistique descriptive

Plan

1 Le langage R

2 Graphiques

3 Statistique descriptive

4 Autour des lois de probabilites

5 Tests

6 Regression

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 20 / 50

Page 6: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Statistique descriptive

Les donnees Island

VancouverHainanPrince of WalesTimorKyushuTaiwanNew BritainSpitsbergenAxel HeibergMelvilleSouthamptonTierra del FuegoDevonBanksCelonTasmaniaMoluccasSakhalinHispaniolaHokkaidoNovaya ZemlyaIrelandMindanaoIcelandLuzonCubaNewfoundlandNew Zealand (N)JavaNew Zealand (S)CelebesEllesmereVictoriaBritainHonshuSumatraBaffinMadagascarBorneoNew GuineaGreenlandAustraliaEuropeAntarcticaSouth AmericaNorth AmericaAfricaAsia

0 5000 10000 15000

islands data: area (sq. miles)Africa Antarctica Asia

11506 5500 16988

Australia Axel Heiberg Baffin

2968 16 184

Banks Borneo Britain

23 280 84

Celebes Celon Cuba

73 25 43

Devon Ellesmere Europe

21 82 3745

Greenland Hainan Hispaniola

840 13 30

Hokkaido Honshu Iceland

30 89 40

Ireland Java Kyushu

33 49 14

Luzon Madagascar Melville

42 227 16

Mindanao Moluccas New Britain

36 29 15

New Guinea New Zealand (N) New Zealand (S)

306 44 58

Newfoundland North America Novaya Zemlya

43 9390 32

Prince of Wales Sakhalin South America

13 29 6795

Southampton Spitsbergen Sumatra

16 15 183

Taiwan Tasmania Tierra del Fuego

14 26 19

Timor Vancouver Victoria

13 12 82

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 21 / 50

Statistique descriptive

Statistique descriptive pour les donnees islands

> mean(x)

[1] 3.734162

> var(x)

[1] 9.134685

> quantile(x,c(.25,.5,.75))

25% 50% 75%

1.794741 2.990066 4.326417

020

4060

80100

120

boxplot data : sqrt(islands)

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 22 / 50

Statistique descriptive

histogramme

equidistant breaks

sqrt(islands)

Density

0 20 40 60 80 100 140

0.00

0.02

0.04

0.06

NON - equidistant breaks

sqrt(islands)

Density

0 20 40 60 80 100 140

0.00

0.05

0.10

0.15

11

19

5321 0 0 2 3 2

WRONG histogram

sqrt(islands)

Freque

ncy

0 20 40 60 80 100 140

05

1015

hist(sqrt(islands), breaks = 12)

hist(sqrt(islands), breaks = c(4*0:5, 10*3:5, 70, 100, 140))

hist(sqrt(islands), breaks = c(4*0:5, 10*3:5, 70, 100, 140) ,freq=TRUE)

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 23 / 50

Statistique descriptive

histogramme : le choix du nombre de classes

x

Density

-4 -2 0 2 4

0.0

0.1

0.2

0.3

0.4

1000 Normal Random Variates

x

Density

-4 -2 0 2 4

0.0

0.1

0.2

0.3

0.4

x

Density

-4 -2 0 2 4

0.0

0.1

0.2

0.3

0.4

xDensity

-4 -2 0 2 4

0.0

0.1

0.2

0.3

0.4

1 On simule un echantillon suivantla loi gaussienne de taille 1000

2 On trace l’histogramme pourdifferentes valeurs du nombre declasses.

3 On compare l’histogramme avecla densite theorique de loigaussienne (courbe en rouge)

hist(x, nclass=100 ) ou hist(x) par defaut le nombre declasses est optimise pour des echantillons gaussiens

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 24 / 50

Page 7: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Statistique descriptive

Estimation de la densite par l’estimateur a noyau

On compare sur des donnees simulees suivant la loi gaussienne deuxestimateurs de la densite (hist / density) avec la densite theorique de la loi

Histogram of dat

dat

Density

-3 -2 -1 0 1 2 3 4

0.0

0.2

0.4

-4 -2 0 2 4

0.0

0.2

0.4

density.default(x = dat)

N = 1000 Bandwidth = 0.2179

Density

#calcul de l’estimateur

>hist(dat)

> y=density(dat)

> plot(y)

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 25 / 50

Autour des lois de probabilites

Plan

1 Le langage R

2 Graphiques

3 Statistique descriptive

4 Autour des lois de probabilites

5 Tests

6 Regression

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 26 / 50

Autour des lois de probabilites

Generalites

Soit X une variable aleatoire de loi PX

PX (A) = P(X ∈ A) =

{∑x∈A P(X = x) loi discrete∫

A f (x)d.x loi continue

Pour les lois classiques, des fonctions R existent pour

calculer

la densite

{P(X = x) pour les lois discretes

f (x) pour les lois continues

la fonction de repartition F (x) = P(X ≤ x)les quantiles F−(u) = inf{x : F (x) ≥ u}

simuler des nombres aleatoires suivant la meme loi que X .

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 27 / 50

Autour des lois de probabilites

Quelques lois disponibles

1 Lois discretes

Loi binomiale (n,p) binom

Loi hypergeometrique (N,n,k) hyper

Loi de Poisson (a) pois

Loi geometrique (p) geom

Loi a support fini {(ai , pi ), i = 1...m} sample

2 Lois continues

Loi Gaussienne (m,σ2) norm

Loi uniforme sur [a, b] unif

Loi de Student a ν degres de liberte t

Loi du χ2 a ν degres de liberte chisq

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 28 / 50

Page 8: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Autour des lois de probabilites

Exemple : loi gaussienne de moyenne 0 et de variance 1

dnorm(x,0,1) : densite au point xpnorm(x,0,1) : fonction de repartition au point xqnorm(α,0,1) : quantile d’ordre αrnorm(n,0,1) : echantillon de taille n

-4 -2 0 2 4

0.00.1

0.20.3

0.4

x

dnorm(x)

Gaussian N(0,1) distribution density

-4 -2 0 2 4

0.00.2

0.40.6

0.81.0

x

pnorm(x)

cdf

0.0 0.2 0.4 0.6 0.8 1.0

-4-2

02

4

u

qnorm(u)

quantile function

2 4 6 8 10

0.00.5

1.01.5

2.0

Index

rnorm(10)

random values

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 29 / 50

Autour des lois de probabilites

Simuler le resultat d’un de a 6 faces

> DE = sample((1:6),100,replace =TRUE)

> DE

[1] 3 2 5 3 4 5 4 4 2 4 2 5 2 6 5 6 4 3 5 4 5 3 5

[24] 3 5 4 4 5 5 4 4 4 3 5 5 2 5 3 5 4 3 1 3 1 3 4

[47] 2 5 6 2 1 5 1 6 2 1 2 3 5 1 3 4 2 3 1 2 6 1 6

[70] 6 4 1 3 4 5 6 1 6 3 5 4 1 5 2 2 2 3 3 2 2 6 6

[93] 6 4 2 5 5 1 5 4

> table(DE)

DE

1 2 3 4 5 6

12 17 17 19 23 12

> plot(table(DE))

05

1015

20

DE

table(DE)

1 2 3 4 5 6

1OO lancers

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 30 / 50

Autour des lois de probabilites

Comportement asymptotique des frequences empiriques

lancer=function(n)

{

DE = sample((1:6),n,replace =TRUE)

plot(table(DE), ,lwd=3) ; abline(h=n/6,lwd=1)

}

02

46

810

1214

DE

table(D

E)

1 2 3 4 5 6

nb de lancers 50

05

1015

20

DE

table(D

E)

1 2 3 4 5 6

nb de lancers 100

020

4060

80100

DE

table(D

E)

1 2 3 4 5 6

nb de lancers 500

050

100150

DE

table(D

E)

1 2 3 4 5 6

nb de lancers 1000

0200

400600

800

DE

table(D

E)

1 2 3 4 5 6

nb de lancers 5000

0500

1000

1500

DE

table(D

E)

1 2 3 4 5 6

nb de lancers 10000

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 31 / 50

Autour des lois de probabilites

Sondages

On considere les resultats des elections europeennes

2 4 6 8 10

510

1520

25

candidat

prob

résultats des elections

27.9

16.5 16.3

8.5

6.34 65.4 5 5.2

2.86

> prob=c(27.9,16.5,16.3, 8.5, 6.34,6,5.4,5,5.2,2.86)

> plot(prob,type="h",lwd = 3)

> points(prob )

> title(’resultats des elections ’)

> text(1:10,prob+.5,prob,col="red")

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 32 / 50

Page 9: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Autour des lois de probabilites

Simuler les resultats d’un sondage

On simule un echantillon de taille 1000 suivant la loi multinomiale

> prob=c(27.9,16.5,16.3, 8.5, 6.34,6,5.4,5,5.2,2.86)

> size = 1000

> (Sondage = rmultinom(1, size, prob/100) )

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

[1,] 296 152 174 89 51 63 56 40 51 28

Estimation par les frequences empiriques

> estimation = Sondage /size*100

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

[1,] 29.6 15.2 17.4 8.9 5.1 6.3 5.6 4 5.1 2.8

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 33 / 50

Autour des lois de probabilites

Erreur d’estimation des proportions

2 4 6 8 10

-1.5-1.0

-0.50.0

0.51.0

candidat

erreur sur un sondage de taille 1000

Classement estime

2 4 6 8 10

24

68

10

candidats

classem

ents

classement des candidats

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 34 / 50

Autour des lois de probabilites

Second tour d’une election presidentielle: A 51% contre B 49%

Quel est la probabilite d’annoncer le candidat gagnant en realisant unsondage sur un echantillon de taille 1000 ?

Le resultat d’un sondage est obtenu en simulant un nombre aleatoirex suivant la loi binomiale (1000, .51)

On simule les resultats de N sondagesx=rbinom(N, 1000,0.51)

On calcule la frequence de l’evenement ”X>500”

y = (x>500)

sum(y)/length(y)

0.71

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 35 / 50

Autour des lois de probabilites

Resultat des sondages simules :

0 100 200 300 400 500

0.48

0.50

0.52

0.54

estimation du score de A

sondage

0.71

0.29

71 % des sondages donnent A gagnant

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 36 / 50

Page 10: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Autour des lois de probabilites

on augmente la taille de l’echantillon

Sondage sur des echantillons de taille 5000

0 100 200 300 400 500

0.49

0.50

0.51

0.52

0.53

estimation du score de A

sondage

0.912

0.912

0.088

Sondage sur des echantillons de taille 10000

0 100 200 300 400 500

0.495

0.500

0.505

0.510

0.515

0.520

0.525

estimation du score de A

sondage

0.98

0.02Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 37 / 50

Autour des lois de probabilites

On change

les resultats

les resultats sont 53% contre 47 %les sondages sont realises sur des echantillons de taille 1000

0 100 200 300 400 500

0.48

0.50

0.52

0.54

0.56

0.58

estimation du score de A

sondage

0.962

0.038

96 % des sondages donnent A gagnantAnne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 38 / 50

Tests

Plan

1 Le langage R

2 Graphiques

3 Statistique descriptive

4 Autour des lois de probabilites

5 Tests

6 Regression

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 39 / 50

Tests

Tests classiques :

Test sur la moyenne : test de Student

t.test(x,mu=5,alt="two.sided")

t.test(x,y,alt="less", conf=.95)

Test sur la variance

var.text(x,y) # comparaison variance

cor.test(x,y) # non correlation

Box.test(z, lag = 1) #non correlation

Test χ2

chisq.test(x,y) #independance

chisq.test(x) #ajustement a une loi donnee

Test d’ajustement

ks.test(x,"pnorm") #normalite K-S

ks.test(x,y) # meme distribution

shapiro.test(x) #normalite

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 40 / 50

Page 11: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Tests

Exemple : Test de Student t.test()

X1, . . . ,Xn iid N (1, 1)

Y1, . . . ,Ym iid Expo(1)

Test H0 : E (X ) = E (Y ) vs H1 : E (X ) 6= E (Y )

> x = rnorm(100,1,1)

> y = rexp(200,1)

> t.test(x,y)

Welch Two Sample t-test

data: x and y

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

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 41 / 50

Tests

Test d’ajustement du χ2 : lancer d’un de

1

2

3

4

5

6

02

46

810

DE

table(DE)

1 2 3 4 5 6

nb de lancers 50

1

2

3

4

5

6

020

40

60

80

DE

table(DE)

1 2 3 4 5 6

nb de lancers 500

50 lancers

>tab = table(de)

1 2 3 4 5 6

10 7 5 10 10 8

>chisq.test(tab)

Chi-squared test for given probabilities

data: table(de)

X-squared = 2.56, df = 5, p-value = 0.7674

500 lancers

1 2 3 4 5 6

84 82 94 84 76 80

Chi-squared test for given probabilities

data: table(DE)

X-squared = 2.176, df = 5, p-value = 0.8243

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 42 / 50

Tests

Test d’ajustement a une gaussienne

On simule une loi normale en utilisant le TCL sur des variables iid suivantla loi uniforme.

Methode de simulation non exacte ....

U = U1, . . . ,Un iid suivant la loi uniforme

√12n(Un −

1

2)⇒ X ∼ N(0, 1) Un =

1

n

n∑i=1

Ui

Le generateur s’ecrit

simU<-function(size,n)

{

y = matrix(runif(n*size),ncol=n)

(apply(y,1,mean)-1/2)*sqrt(n*12)

}

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 43 / 50

Tests

Test de normalite. n = 1, 2, 5

One-sample Kolmogorov-Smirnov test

data: X

D = 0.0682, p-value = 0.0001841

data: X

D = 0.0325, p-value = 0.2401

data: X

D = 0.0296, p-value = 0.3439

Shapiro-Wilk normality test

data: X

W = 0.9523, p-value < 2.2e-16

data: X

W = 0.9924, p-value = 5.496e-05

data: X

W = 0.9975, p-value = 0.1354

-2 -1 0 1 2

0.00.1

0.20.3

0.4

n= 1

N = 1000 Bandwidth = 0.2251

Density

-3 -2 -1 0 1 2 3

0.00.1

0.20.3

0.4

n= 2

N = 1000 Bandwidth = 0.2247

Density

-3 -2 -1 0 1 2 3

0.00.1

0.20.3

0.4

n= 5

N = 1000 Bandwidth = 0.2334

Density

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 44 / 50

Page 12: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Regression

Plan

1 Le langage R

2 Graphiques

3 Statistique descriptive

4 Autour des lois de probabilites

5 Tests

6 Regression

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 45 / 50

Regression

Regression lineaire

Lien lineaire entre les variables x et Y

Yi = axi + b + εi

ou (εi )i est une suite de variables aleatoires iid, centrees et L2.Pour realiser une regression lineaire, par la methode des moindres carres,on utilise la fonction lm :Si les donnees sont sous la forme de 2 vecteurs X et Y (de meme taille)

r=lm(Y~X)

Call:

lm(formula = Y ~ X)

Coefficients:

(Intercept) X

1.368 1.031

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 46 / 50

Regression

plot(X,Y) plot(r$residual, type="h")

abline(r)

qqnorm(r$residual)

abline(0,1) acf(r$residuals)

5 10 15 20 25

510

1520

25

X

Y

5 10 15 20 25

-2-1

01

Index

r$residua

l

-2 -1 0 1 2

-2-1

01

Normal Q-Q Plot

Theoretical Quantiles

Samp

le Quan

tiles

0 2 4 6 8 10 12

-0.4

0.00.4

0.8

Lag

ACF

Series r$residuals

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 47 / 50

Regression

Ajustement polynomial : r=lm(Y∼poly(X,deg)))

5 10 15 20 25

020

4060

80100

speed

dist

deg = 1

5 10 15 20 25

020

4060

80100

speed

dist

deg = 2

5 10 15 20 25

020

4060

80100

speed

dist

deg = 3

5 10 15 20 25

020

4060

80100

speed

dist

deg = 4

plot(cars)

r = lm(dist ~ poly(speed, i), data = cars)

lines(cars$speed,r$fitted)

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 48 / 50

Page 13: Le logiciel R - Université de Nantesphilippe/... · Le langage R Plan 1 Le langage R 2 Graphiques 3 Statistique descriptive 4 Autour des lois de probabilit es 5 Tests 6 R egression

Regression

Generalisation

regression multiple lm(v ∼ v1 + v2 + v3)

regression lineaire generalisee glm

selection de modeles, anova

approche non parametrique par noyau

lissage

polynomes locaux

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 49 / 50

Regression

Conclusion

Peut on utiliser R pour l”enseignement ?

Difficulte : Langage a apprendre

Solutions :

proposer des fonctions boite noireutiliser des librairies avec interface graphique

Exemple : la librairie Rcmdr

Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 50 / 50