web-dev-qa-db-fra.com

"Erreur: valeur continue fournie à une échelle discrète" dans l'exemple de jeu de données par défaut mtcars et ggplot2

J'essaie de répliquer l'exemple ici (sthda.com) en utilisant le code suivant:

# Change point shapes and colors manually
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  scale_shape_manual(values=c(3, 16, 17))+ 
  scale_color_manual(values=c('#999999','#E69F00', '#56B4E9'))+
  theme(legend.position="top")

L'exemple de cette page Web indique que le code devrait produire le résultat suivant:

plot

Mais lorsque je l'exécute dans R, j'obtiens l'erreur suivante:

"Erreur: valeur continue fournie à une échelle discrète"

Quelqu'un sait-il ce qui ne va pas avec ce code? Ou pourquoi j'obtiens un résultat différent de l'exemple?

Si quelqu'un pouvait exécuter l'exemple de code et me dire s'il obtenait la même erreur, je lui en serais très reconnaissant.

13
Katherine Hepworth

Oui, j'ai pu le réparer avec l'extrait de code suivant:

ggplot(mtcars, aes(x=wt, y=mpg, color=as.factor(cyl), shape=as.factor(cyl))) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  scale_shape_manual(values=c(3, 16, 17))+ 
  scale_color_manual(values=c('#999999','#E69F00', '#56B4E9'))+
  theme(legend.position="top")
14
Jonathan Hill

as.factor le fait fonctionner

ggplot(mtcars, aes(x=wt, y=mpg, color=as.factor(cyl), shape=as.factor(cyl))) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  scale_shape_manual(values=c(3, 16, 17))+ 
  scale_color_manual(values=c('#999999','#E69F00', '#56B4E9'))+
  theme(legend.position="top")
6
Andrew Lavers