Problème plot

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Julien Demeaux
Messages : 49
Enregistré le : 23 Oct 2017, 22:24

Problème plot

Messagepar Julien Demeaux » 05 Jan 2018, 18:47

Bonjour,

J'ai un problème que je ne comprends pas avec plot.
Voici le head() de mon jeu de données

Code : Tout sélectionner

db
   Journées   xG       Buts
1      J.01      0.4593290   1
2      J.02      0.7377766   1
3      J.03      2.8300746   3
4      J.04      0.1874072   0
5      J.05      0.9849200   1
6      J.06      1.5000013   1


et le str()

Code : Tout sélectionner

'data.frame':   19 obs. of  5 variables:
 $ Journées   : Factor w/ 19 levels "J.01","J.02",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ xG         : num  0.459 0.738 2.83 0.187 0.985 ...
 $ Buts       : int  1 1 3 0 1 1 2 1 3 0 ...


Quand je plotte ainsi

Code : Tout sélectionner

plot(db$Journées, db$Buts, type="l", xlab="Journées", ylab="Buts vs xG", main="Performance Buts vs xG")
lines(db$Journées, db$xG, type="l", col="blue")


Ca me donne ça
Image
alors que je voudrais avoir 2 courbes superposées.
J'ai essayé de changer db$Buts en numeric au cas où mais ça ne change rien.
Une idée de ce qui ne fonctionne pas ? J'avais déjà fait cette manip et ça fonctionnait...
Merci

Gabriel Terraz
Messages : 591
Enregistré le : 26 Sep 2011, 15:11

Re: Problème plot

Messagepar Gabriel Terraz » 06 Jan 2018, 09:28

Salut,
Ta variable journée est sous forme de facteur, lors de l'appel à la fonction plot R te fait donc un magnifique boxplot !

Pour t'en convaincre :

Code : Tout sélectionner

df <- data.frame(a = as.factor(1:5), b = rnorm(5))
plot(df$a, df$b)

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Problème plot

Messagepar Mickael Canouil » 08 Jan 2018, 11:11

Bonjour,

c'est typiquement le genre "d'erreur" qui devient évidente, voire même qui peut être évité en désactivant la conversion en facteur.
De cette façon, c'est à vous de choisir quelles seront les variables en facteur ou non.

Code : Tout sélectionner

R> options(stringsAsFactors = FALSE)

R> df <- data.frame(a = LETTERS[1:5], b = rnorm(5))

R> str(df)
'data.frame':   5 obs. of  2 variables:
 $ a: chr  "A" "B" "C" "D" ...
 $ b: num  -1.4453 0.0609 -0.5117 -1.347 -1.9846
 
R> plot(df$a, df$b)
Error in plot.window(...) : need finite 'xlim' values
In addition: Warning messages:
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
2: In min(x) : no non-missing arguments to min; returning Inf
3: In max(x) : no non-missing arguments to max; returning -Inf
Mickaël
mickael.canouil.fr | rlille.fr

Julien Demeaux
Messages : 49
Enregistré le : 23 Oct 2017, 22:24

Re: Problème plot

Messagepar Julien Demeaux » 12 Jan 2018, 04:53

Merci pour votre aide, je n'avais pas pensé à ça effectivement. Pas encore assez évident pour mon faible niveau d'expérience dans R.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité