同じプロットに 2 つのデータセットがある場合、それぞれが異なるデータ セットに対応する 2 つの独立したファセットをそのプロットに持つことはできますか?
たとえば、散布図では、1 つのデータ セットを x 方向に分割し、もう 1 つのデータ セットを y 方向に分割できます。
たとえば、次のコードを考えてみましょう。ここでd1
は、X 軸の値が 0.5 未満で 0.5 より大きい値を分割しようとしてd2
おり、y 軸も同様です。これは実行されますが、なぜ結果が得られるのかわかりません。
ggplot2
これを行うように設計されていない可能性があります。私はアプリケーションを念頭に置いていません。ファセットの制限を理解しようとしているだけです。コードを理解しようとするよりも、例で遊ぶ方が簡単です。
library("ggplot2")
splitvec <- function(v)
{
if(v<0.5)
return("L")
else if(v>=0.5)
return("R")
}
set.seed(1)
x1 <- runif(5, 0, 1)
y1 <- runif(5, 0, 1)
xsplit <- sapply(x1, splitvec)
d1 = data.frame(x=x1, y=y1, X=xsplit)
x2 <- runif(5, 0, 1)
y2 <- runif(5, 0, 1)
ysplit <- sapply(y2, splitvec)
d2 = data.frame(x=x2, y=y2, Y=ysplit)
r = ggplot() +
geom_point(data=d1, aes(x=x, y=y)) + facet_grid( ~ X) +
geom_point(data=d2, aes(x=x, y=y)) + facet_grid(Y ~ .)