次の data.frames があるとします。
dt1 <- data.frame(x=1:10,y=rnorm(10),g="a",c=1)
dt2 <- data.frame(x=1:10,y=rnorm(10),g="b",c=2)
dt <- rbind(dt1,dt2)
bb <- data.frame(x=1:4,y=rep(-5,4))
以下の作品
qplot(x=x,y=y,data=dt,group=g,colour=c)+geom_line(aes(x=bb$x,y=bb$y),colour="black")
data.frame からのデータで追加の黒い線を生成しますbb
。しかし、
bb <- data.frame(x=1:6,y=rep(-5,6))
同じプロット コードは、行数が異なるという苦情で失敗します。data.frames をマージする、つまりbb
NA で展開することはできましたが、上記のコードは有効な ggplot2 コードであると考えましたが、厳密にはその精神に沿っているわけではありません。では、問題はなぜ失敗するのかということです。(答えはおそらく、4 は 20 を割るという事実に関連していますが、6 はそうではありませんが、より多くのコンテキストが望ましいでしょう)