• Aucun résultat trouvé

IX – Importation et exportation de fichiers ASCII

N/A
N/A
Protected

Academic year: 2022

Partager "IX – Importation et exportation de fichiers ASCII"

Copied!
37
0
0

Texte intégral

(1)

Cours 3

IX – Importation et exportation de fichiers ASCII X- Lois de probabilités et simulation d’échantillons

XI- Statistiques descriptives

(2)

IX – Importation et exportation de fichiers ASCII

ASCII

(3)

IX- 1 Importer des fichiers ascii

Chargement de fichiers textes (Ascii) stockés en externe : Avec la fonction read.table(). La sortie est un data.frame.

read.table(file= ,sep= ,header= ) - file = nom du fichier

Rgui

- file = nom du fichier

- sep= séparateur utilisés dans « file » (espace par défaut)

- header= T si le fichier « file » contient le nom des colonnes (en tête), F sinon (dans ce cas R utilise les noms de variables par défaut V1,…). header=F par défaut.

>p=read.table("C:/Documents and Settings/R_bbsg/donnees/pollution.txt", header=T);is.data.frame(p);

(4)

IX- 1 Importer des fichiers ascii

Fonction file.choose(): permet de choisir le fichier de façon interactive

>f=file.choose(); #choisir le fichier

>f

[1] "C:\\Documents and Settings\\R-bbsg\\donnees\\pollution.txt "

Rgui

[1] "C:\\Documents and Settings\\R-bbsg\\donnees\\pollution.txt "

>read.table(f);

read.csv(), read.delim(), read.fwf() : Variantes de read.table() R peut lire des fichiers dans d’autres formats (Excel,SAS,SPSS) mais

les fonctions nécessaires ne sont pas dans le package base.

(5)

IX- 2 Exporter des fichiers ascii

Fonction write.table() : exporte un fichier créé dans R dans le répertoire de travail

write.table(x, file=, append=, col.names=,row.names=) - x : nom du data.frame créé sous R

- file= nom du fichier dans lequel on veut écrire

- append= si TRUE ajoute au fichier éventuellement existant,

Rgui

- append= si TRUE ajoute au fichier éventuellement existant, si FALSE écrase le fichier existant (F par défaut)

- col.names= si TRUE écrit les noms de colonnes - row.names= idem pour les lignes

>write.table(f,file= "C:/Documents and

Settings/R_bbsg/donnees/pollution2.txt", row.names=T,col.names=T) Fonction write(): équivalent à write.table() mais moins d’options

(6)

IX-3 Sauvegarder des objets R et les restaurer

On peut sauver des objets crées dans R dans un fichier, en binaire ou en Ascii:

dump(): sauve en ascii des objets R

source(): recharge les objets sauvés par dump()

Rgui

save(): sauve en binaire des objets R

load(): recharge les objets sauvés par source()

>dump(ls(), file="C:/Documents and Settings/R_bbsg/donnees/object.txt")

>source("C:/Documents and Settings/donnees/ R_bbsg/object.txt")

(7)

X- Lois de probabilités

(8)

X-0 Rappels

Densité de la loi normale N(0,1)

Répartition de 1000

réalisations de loi N(0,1)

(9)
(10)

X-0 Rappels

Loi normale : X suit une loi N(m,σ) ssi

Loi uniforme: X suit une loi U[a,b] ssi

1 (

1 2 ²

( )

2

x m

f x e σ x R

σ π

= ∀ ∈

[ ]

( ) 1

si , , 0 sinon

f x x a b

= b a

Loi de Poisson: X suit une loi P(λ) ssi

Loi binomiale X suit une loi B(n,p)

[ ]

( ) si , , 0 sinon

f x x a b

= b a

( ) ,

!

x

P X x e x N

x

λ λ

= = ∀ ∈

[ ]

( ) nx x(1 )n x, 0,

P X = x = C pp ∀ ∈x n

(11)

X-1 Lois de probabilité, distributions

Lois classiques : *norm(),*binom(),*chisq(),*unif,()*pois,(),*t,(),

*exp(), …….

R permet d’évaluer les quantités probabilistes suivantes sur les lois classiques:

Préfixe p : Fonctions de répartition (F(x)=P(X<=x)) Préfixe p : Fonctions de répartition (F(x)=P(X<=x))

>pnorm(3); pnorm(3,2,1); pbinom(3,10,0.5); pt(6,5)

Préfixe d : Densité (P(X=x) ou f(x))

>dnorm(4); dt(7,2); dpois(4,5)

Préfixe q : Quantiles d’ordre q (plus petite valeur x telle que P(X<=x)>=q

>qnorm(0.4,2,1); qbinom(0.5,10,0.5); qchisq(0.1,8)

Préfixe r : Simulations (construction d’échantillons)

>runif(50,0,2); rpois(20,3);

(12)

X-2 Exemples

dbinom(k, n, p) : Valeur de P(X=k) lorsque X suit une loi B(n,p).

>dbinom(3,10,0.2) [1] 0.2013266

rbinom(k,n,p): k réalisations d’une variable aléatoire de loi B(n,p)

>rbinom(10,10,0.2) [1] 5 2 3 2 4 0 4 2 0 2

pbinom(k,n,p) : Valeur de P(X<=k) (fdr de X en k) lorsque X suit une loi B(n,p)

loi B(n,p)

>pbinom(1,10,0.2) [1] 0.3758096

> pbinom(2,10,0.2) [1] 0.6777995

qbinom(q,n,p): Quantile d’ordre q, c’est-à-dire la plus petite valeur x telle que P(X<=x)>=q

>qbinom(0.5,10,0.2) [1] 2

>qchisq(0.1,8) [1] 3.489539

(13)

X-2 Exemples

>x=rbinom(100,5,1/3)

> barplot(table(x))

>barplot(dbinom(0:5,5,1/3),add=

T,col=2)

(14)

XI- Statistiques

descriptives

(15)

XI-1 Caractéristiques d’une série statistique

Soit (x,y) deux séries statistiques (vecteurs ou data.frame)

table(x) : compte les fréquences des valeurs de x (x discrète ou caractère)

summary(x) : renvoie un résumé statistique du contenu de x,

avec le min, 1er quartile, moyenne, médiane, 3 ième quartile et max avec le min, 1er quartile, moyenne, médiane, 3 ième quartile et max ( x numérique)

mean(x), median(x), var(x), sd(x) : moyenne, médiane, variance , ecart-type (x numérique)

quantile(x, probs=) : renvoie les quantiles de la série x (x

numérique) correspondant au vecteur de probabilité donné (% de population). Par défaut renvoie les quartiles

cor(x,y) : Donne la matrice de corrélations entre x et y (x et y numeriques)

cov(x,y) : Donne la covariance entre x et y (x et y numeriques)

(16)

XI-1 Caractéristiques d’une série statistique

>age=c(18, 15, 12, 16, 20, 17); poids=c(55, 57, 46, 54, 60,57); nom=c("a","b","c","a")

> table(poids) >table(nom)

Poids nom

46 54 55 57 60 a b c

1 1 1 2 1 2 1 1

> summary(poids) >summary(nom)

Min. 1st Qu. Median Mean 3rd Qu. Max. Length Class Mode 46.00 54.25 56.00 54.83 57.00 60.00 4 character character 46.00 54.25 56.00 54.83 57.00 60.00 4 character character

>mean(poids) >quantile(age)

[1] 54.83333 0% 25% 50% 75% 100%

12.00 15.25 16.50 17.75 20.00

> quantile(poids)

0% 25% 50% 75% 100% > cor(age, poids) 46.00 54.25 56.00 57.00 60.00 [1] 0.860365

>quantile(poids,prob=0.25) >quantile(age,probs=c(0.1,0.4))

25% 10% 40%

54.25 13.5 16.0

(17)

XI-2 Visualisation d’une série statistique

hist(x) : trace l’histogramme de la série x (x continue)

density(x): construit l’estimateur par noyau de la densité de x (x continue). plot(density(x)) le trace.

ecdf(x) : construit la fonction de répartition empirique de x.

plot(ecdf(x) ) la trace.

barplot(x): diagramme en bâtons de la série x (x discrète) barplot(x): diagramme en bâtons de la série x (x discrète) stem(x): arbre des valeurs de x (x discrète)

boxplot(x): boxplot (boite à moustaches) des valeurs de x

qqnorm(x): trace les quantiles de x/ quantiles de la loi normale qqplot(x,y) : trace les quantiles de x /ceux de y

plot(x)

plot(x,y): nuage des points de coordonnées (x,y)

(18)

XI-3 Exemples : estimation de la fonction de répartition par la fonctionde répartion

empirique (ecdf())

La fonction de répartition empirique associée une série

d'observations ayant les valeurs est la fonction en escalier entre les points (x(i), i/n) 1

,.... n x x

nombre de xi 1

( ) 1

n

n x x

F x x

n n

= ≤ =

Si sont des réalisations d’une variable aléatoire X, est une estimation de la fonction de répartition de X:

Au plus n est grand, au plus est proche de F en tout point.

1

( ) 1

n xi x

i

F x = n = n

=

1,.... n

x x F xn( )

n( ) F x

( ) ( )

F x = P X x

(19)

XI-3 Exemples : estimation de la fonction de répartition (ecdf()) d’une loi

> essai=rnorm(10);essai # x1….x10

[1] 0.38981636 -0.21302926 0.03082812 -1.30205952 0.18251605 -1.93613408 -0.55674645 0.67634396 1.85267654 1.87018196

> sort(essai) #x(1)….x(10)

[1] -1.93613408 -1.30205952 -0.55674645 -0.21302926 0.03082812 0.18251605 0.38981636 0.67634396 1.85267654 1.87018196

>ecdf(essai) Empirical CDF Call: ecdf(essai)

x[1:10] = -1.9361, -1.3021, -0.55675, ..., 1.8527, 1.8702

>plot(ecdf(essai))

(20)

>essai=rnorm(n);

> plot(ecdf(essai),main="fdre pour n- fdr")

> curve(pnorm, add=T)

(21)

XI-3 Exemples: estimation d’une loi discrète (stem(), barplot())

Pour une série discrète , on peut représenter la proportion des observations qui prennent chaque valeur x de la série

(diagramme en bâtons de la série).

1,.... n x x

nombre de xi 1

( ) 1

n

n x x

p x x

n n =

= = =

Si sont des réalisations d'une variable aléatoire X à valeurs discrètes dans E, est une approximation de la loi de probabilité de X (la séquence P(X=x), ).

Le diagramme en bâtons de la série estime le graphe de la loi de X.

Au plus n est grand au meilleure est l’estimation.

1,.... n x x

xE

1

( ) 1

n xi x

i

p x = n = n

= =

n( ) p x

(22)

XI-3 Exemples: estimation d’une loi discrète (stem(), barplot())

>essai=rbinom(10, 10,0.3); essai [1] 4 4 4 5 4 4 4 3 1 3

>barplot(z/length(essai),main

>t=table(essai) ="diagramme des frequences")

essai essai 1 3 4 5 1 2 6 1

>stem(essai) 1 | 0

2 | 3 | 00

4 | 000000 5 | 0

(23)

XI-3 Exemples: estimation d’une loi discrète (stem(), barplot())

>essai=rbinom(n,10,0.3);t=table(essai);

barplot(t/length(essai), main="n=");

x=0:10;

barplot(dbinom(x,10,0.3),col="red"

,add=T);

(24)

XI-3 Exemples: estimation de la densité d’une loi continue (hist(), density())

La densité f d’une variable continue X

Peut être approchée par histogramme : soit I l’intervalle d’observation de la série et une partition de I en k classes. L’histogramme basé sur cette partition est la fonction en escaliers valant, dans chaque classe la proportion des observations tombant dans cette classe

renormalisée par l’amplitude de la classe. les amplitudes des classes l

( )

Ij j k

renormalisée par l’amplitude de la classe. les amplitudes des classes doivent être choisies afin de rendre le mieux possible compte de la distribution réelle des observations.

Généralement les classes sont choisies de même amplitude, déterminée par le nombre de classes choisies, R le fait tout seul ou on utilise cut() Au plus l’échantillon et grand au plus est proche de f.

1

nombre de

ˆ ( ) 1

j

k i j

n x I

j j

x I

f x = nl

 ∈ 

=  

 

lj

ˆn

f

(25)

XI-3 Exemples: estimation de la densité d’une loi continue (hist(), density())

hist(x, breaks = , prob=, right =,col =, main =, xlab =, ylab=,…)

- x: série

- breaks: un vecteur donnant les « breakpoints » des classes ou un nombre

donnant le nombre de classes+1 ou une fonction pour calculer le nombre de donnant le nombre de classes+1 ou une fonction pour calculer le nombre de classes. Par défaut , la détermination du nombre k de classes se fait par la règle de Sturges:

- prob : si F, histogramme des fréquences; si T, histogramme des fréquences relatives (probas). Le défaut est F.

-right : si T les classes de l’histogrammes sont fermées à dte, ouvertes à gauche. F par défaut

- col=couleur

- main, xlab, ylab: titres.

1 1,322log10

k = + n

(26)

XI-3 Exemples: estimation de la densité d’une loi continue (hist(), density())

>x=rnorm(100); hist(x, prob=T, breaks=12)

> t=hist(x, prob=T,breaks=12)

> names(t)

[1] "breaks" "counts"

"intensities" "density" "mids"

"intensities" "density" "mids"

[6] "xname" "equidist"

> t$breaks

[1] -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0

> t$density

[1] 0.02 0.08 0.24 0.26 0.40 0.44 [7] 0.22 0.18 0.04 0.08 0.04

> t$counts

[1] 1 4 12 13 20 22 11 9 2 4 2

(27)

>essai=rnorm(50);

>hist(essai) #n’estime pas la densité

>hist(essai, prob=T,

main="histogramme des probabilités")

(28)

>essai=rnorm(n);

>hist(essai, prob=T, main="n");

>curve(dnorm,add=T);

(29)

XI-3 Exemples: estimation de la densité d’une loi continue (hist(), density())

Peut être approchée par un estimateur à noyau : l’idée est d’approcher la densité de X par celle d’un estimateur de la fonction de répartition de X. La « dérivée » de la fonction de répartition empirique, estimateur classique de la fonction de répartition n’existe pas. Mais en un point x de I, elle vaut à peu près avec h petit :

[ ]

ˆ ( ) ˆ ( ) nombre de tombant dans - , 1

1

n

n n xi hx hx

F x + −h F xh = =

Prendre cet estimateur revient à considérer que les observations sont uniformément réparties autour de chaque xi. Au lieu de considérer une approximation uniforme, on peut utiliser une distribution plus lisse, de densité K. noyau au point x= somme pondérés des contributions de chaque xi. h est appelé paramètre de lissage, sa valeur détermine la qualité d’estimation.

1

( ) 1

n

i n

i

x x

f x K

nh = h

 

=  

 

ɶ

[ ]

1 1

1

2 2 2 1 i

n n i

x x

i h

h = nh = nh

= − <

(30)

XI-3 Exemples: estimation de la densité d’une loi continue (hist(), density())

d=density(x, bw = , kernel =, …)

- x: série

- bw: taille de la fenêtre de lissage. Définie par un chiffre ou une règle. Automatique par défaut.

une règle. Automatique par défaut.

- kernel: une chaine de caractères donnant le noyau utilisé (gaussien, rectangulaire…). Gaussien par défaut.

L’output sort des statistiques sur la série x ainsi que des statistiques sur les valeurs y de la densité estimée en ces points.

plot(density(d)) permet d’obtenir le graphe

(31)

XI-3 Exemples: estimation de la densité d’une loi continue (hist(), density())

Importance de la fenêtre de lissage: au plus elle est grande, au plus l’estimation est lisse et biaisée, au plus elles est petite, au plus l’estimation est bruitée.

>plot(density(essai, bw=0.1))

>plot(density(essai, bw=0.1))

>plot(density(essai, bw=0.5))

(32)

XI-3 Exemples: estimation d’une densité

> essai=rnorm(50)

> density(essai) Call:

density(x = essai) Data: essai (50 obs.);

Bandwidth 'bw' = 0.476

> plot(density(essai),

main="estimateur à noyaux de la densité de essai")

x y

Min. :-3.80115 Min. :0.0001951 1st Qu.:-1.91420 1st Qu.:0.0167786 Median :-0.02725 Median :0.1253643 Mean :-0.02725 Mean :0.1323521 3rd Qu.: 1.85970 3rd Qu.:0.2431201 Max. : 3.74665 Max. :0.2861070

(33)

>essai=rnorm(n);

>plot(density(essai), main="n" ,ylim=c(0,0.4));

>curve(dnorm,add=T);

(34)

XI-3 Exemples: estimation de la densité d’une loi continue (hist(), density())

>plot(density(essai), main="n=10000");

>hist(essai, prob=T, add=T);

(35)

XI-3 Exemples: caractéristiques d’une série (boxplot(),qqnorm())

Le boxplot permet de visualiser les caractéristiques d’une série (points aberrants, symétrie, dispersion)

>boxplot(formula)

La fonction qqnorm( ) permet de comparer la distribution d’une série à la distribution gaussienne standard.

>x=c(1,1,2,2,2,3,4); summary(x)

Min. 1st Qu. Median Mean 3rd Qu. Max.

4.000

>boxplot(formula)

Formula : série x ou formule y~ grp, avec y série à diviser en

groupe selon la variable grp (donne 1 boxplot par groupes )

1.000 1.500 2.000 2.143 2.500 4.000

>boxplot(x)

(36)

XI-3 Exemples: caractéristiques d’une série

(boxplot(),qqnorm())

(37)

XI-3 Exemples: caractéristiques d’une série

(boxplot(),qqnorm())

Références

Documents relatifs

Donner une condition nécessaire et suffisante pour que Y admette une variance, et lorsque cette condition est vérifiée, calculer V ( Y ).... Or on reconnait une intégrale

Téléchargé sur https://maths-pdf.fr - Maths Pdf sur Youtube Exercice de maths en terminale. Probabilité et loi

Téléchargé sur https://maths-pdf.fr - Maths Pdf sur Youtube Exercice de maths en terminale. Probabilité et loi

Téléchargé sur https://maths-pdf.fr - Maths Pdf sur Youtube Exercice de maths en terminale. Probabilité et loi

Téléchargé sur https://maths-pdf.fr - Maths Pdf sur Youtube Exercice de maths en terminale. Probabilité et loi

Téléchargé sur https://maths-pdf.fr - Maths Pdf sur Youtube Exercice de maths en terminale. Probabilité et loi

Téléchargé sur https://maths-pdf.fr - Maths Pdf sur Youtube Exercice de maths en terminale. Probabilité et loi

f) Déterminer un intervalle [a; b] centré sur la moyenne tel que la probabilité pour qu’un individu choisi au hasard ait 95 % de chance d’avoir une concentration comprise entre a