次のコードを使用して ここの例(sthda.com) を複製しようとしています。
# 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")
そのWebページの例では、コードは次の結果を生成する必要があると述べています。
しかし、Rで実行すると、次のエラーが表示されます。
「エラー:不連続スケールに連続値が指定されました」
このコードの何が問題なのか誰にもわかりますか?または、なぜ例とは異なる結果が得られますか?
誰かがサンプルコードを実行して、同じエラーが発生したかどうかを教えてくれたら、とても感謝しています。
ええ、次のスニペットで修正できました:
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")
as.factorはそれを機能させる
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")