Vous êtes sur la page 1sur 13

Fonctions Graphiques avec R

Roch Giorgi
14 mars 2017

Les graphiques données ci-dessous ont été obtenus à partir des données
ChickW eight du package ggplot2 (à télécharger si vous ne l’avez pas sur votre
poste de travail).
350
250
weigth

150
50

0 5 10 15 20

Time

1
weigth weigth

50 150 250 350 50 150 250 350

0
0

5
5

10
10

2
Time
Time

15
15

20
20
350
250
weigth

150
50

0 2 4 6 8 10 12 14 16 18 20 21

Time

3
1. Reproduisez ces graphiques à l’aide des fonctions plot et boxplot. Vous devrez
utiliser l’argument jitter pour les figures 2 et 3 (jitter seulement horizontal).

# Nuage de points
plot(ChickWeight$Time, ChickWeight$weight,
pch=16, xlab="Time", ylab="weigth")
350
250
weigth

150
50

0 5 10 15 20

Time

4
# Nuage de points avec un jitter
plot(jitter(ChickWeight$Time), jitter(ChickWeight$weight),
pch=16, xlab="Time", ylab="weigth")
350
250
weigth

150
50

0 5 10 15 20

Time

5
# Nuage de points avec un jitter uniquement horizontal
plot(jitter(ChickWeight$Time), ChickWeight$weight,
pch=16, xlab="Time", ylab="weigth")
350
250
weigth

150
50

0 5 10 15 20

Time

6
# Boîte à moustaches
boxplot(ChickWeight$weight ~ ChickWeight$Time,
xlab="Time", ylab="weigth")
350
250
weigth

150
50

0 2 4 6 8 10 12 14 16 18 20 21

Time

7
2. Produisez ensuite ces mêmes graphiques en utilisant les fonctions appropriées
du package ggplot2.

# Chargement de la library
library(ggplot2)

# Création de la base du plot


sp <- ggplot(ChickWeight, aes(x=Time, y=weight))

# Nuage de points
sp + geom_point()

300
weight

200

100

0 5 10 15 20
Time

8
# Nuage de points avec un jitter
sp + geom_point(position="jitter")

300
weight

200

100

0 5 10 15 20
Time

9
# Nuage de points avec un jitter uniquement horizontal
sp + geom_point(position=position_jitter(width=.5, height=0))

300
weight

200

100

0 5 10 15 20
Time

10
# Boîte à moustaches
sp + geom_boxplot(aes(group=Time))

300
weight

200

100

0 5 10 15 20
Time

11
Créez votre propre fonction logistique suivante (que vous nommerez myfunc) :

1/(1+exp(-x+10))

3. Tracez les valeurs obtenues pour x allant de 0 à 20 (label sur l’axe des abscisses
x, sur l’axe des ordonnées y [0 - 1])

3.1 en utilisant la fonction curve (R graphic de base)

# Création de la fonction logistique


myfun <- function(xvar){
1/(1 + exp(-xvar + 10))
}

curve(myfun(x), from=0, to=20, xlab="x", ylab="y [0 - 1]")


1.0
0.8
0.6
y [0 − 1]

0.4
0.2
0.0

0 5 10 15 20

12
3.2 en utilisant la fonction ggplot (du package ggplot2)

ggplot(data.frame(x=c(0, 20)), aes(x=x)) +


xlab("x") + ylab("y [0 - 1]") +
stat_function(fun=myfun, geom="line")

1.00

0.75
y [0 − 1]

0.50

0.25

0.00

0 5 10 15 20
x

13

Vous aimerez peut-être aussi