を使用していくつかのデータをプロットしていますがfacet_grid()
、不可解な点に気付きました。
私は ggplot ライブラリの初心者であり、何かを見落としている可能性があると思います。とにかく、ここに行きます。
次のデータフレームを想定します。
library(ggplot2)
d1 <- runif(500)
d2 <- runif(500)*10
s1 <- sample(LETTERS[1:2], 500, replace = T, prob=c(0.3, 0.7))
s2 <- sample(letters[3:4], 500, replace = T, prob=c(0.4, 0.6))
df <- data.frame(s1, s2, d1, d2)
次のようになります。
s2 s1 d1 d2
c B 0.3434944 0.9881925
d A 0.7847741 9.7759946
d A 0.3142764 2.3654268
...
カテゴリ値に従って並べ替えられるようにデータをプロットします。
ggplot(df, aes(x=df$d1, y=df$d2)) +
geom_point(col="red", cex=2) +
facet_grid(d2 ~ d1)
次のプロットが得られます。
データのサブセットのみをオーバープロットしたいので、次の (ここでは簡略化した) コードを使用しました。
geom_point(data=df[df$d2 > 7.5,],
aes(x=df$d1[df$d2 > 7.5], y=df$d2[df$d2 > 7.5]),
cex=1, colour=I("black"))
次のプロットになります。
ここで、しきい値を設定したので、たとえば「しきい値よりも大きい」というすべての値が既存の値にプロットされたと思います。
これは事実ではないようです。
実際、一部の既存の値には、一致するしきい値がありません。また、一部のしきい値には、一致する既存の値がありません。私を最も困惑させているのは、データポイントが同じデータフレームから来ているというのが私の理解であり、最初のレイヤー(既存のもの)に2番目のレイヤーが含まれていることを期待していることです。ここで何か不足していますか?
また、注意深く見ると、プロットされた点は正しい 2D 位置に一致していますが、間違った象限にあります。
さらに不可解: 次のサブセットをプロットすると:
ggplot(df[df$d2 < 7.5,], aes(x=df$d1[df$d2 < 7.5], y=df$d2[df$d2 < 7.5])) +
geom_point(col="red", cex=2) +
facet_grid(d2 ~ d1) +
geom_point(data=df[df$d2 > 7.5,], aes(x=df$d1[df$d2 > 7.5], y=df$d2[df$d2 > 7.5]), cex=1, colour=I("black"))
既存の値の一部は、「しきい値を超える」領域から「しきい値を下回る」領域に移動します。誰かがそのような行動を説明できますか?
どうもありがとう。