“FOUT: continue waarde geleverd aan discrete schaal” in standaardgegevenset Voorbeeld MTCARS en GGPLOT2

Ik probeer Het voorbeeld hier (sthda.com) met behulp van de volgende code:

# 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")

Het voorbeeld op die webpagina zegt dat code het volgende resultaat moet opleveren:

Maar wanneer ik het in r ren, krijg ik de volgende fout:

“Fout: continue waarde geleverd aan discrete schaal”

weet iemand wat er mis kan zijn met deze code? Of waarom ik een ander resultaat krijg dan het voorbeeld?

Als iemand de voorbeeldcode kan uitvoeren en me vertelt of ze dezelfde fout krijgen, zou ik zeer dankbaar zijn.


Antwoord 1, Autoriteit 100%

Ja, ik was in staat om het te repareren door de kleur- en vorm-esthetiek te converteren naar factoren:

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")

Antwoord 2, Autoriteit 53%

AS.Factor maakt het werkt

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")

Other episodes