2
如果我在同一個圖上有兩個數據集,那麼我可以在該圖上有兩個獨立的構面,每個對應於不同的數據集?基於多個數據集的獨立構面網格
例如,在散點圖中,可以在x方向上拆分一個數據,也可以在y方向拆分另一個數據集。
考慮,例如,下面的代碼,其中,我試圖爲小於0.5和大於0.5, 並且類似地,X軸的值d2
y軸分割d1
。這運行,但我不明白爲什麼我得到我的結果。
有可能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 ~ .)
感謝你的努力。首先,你寫道:'d2 $ Y < - ifelse(d2 $ x <0.5,'d2.L','d2.R')'。我猜應該是'd2 $ Y < - ifelse(d2 $ y <0.5,'d2.L','d2.R')'。這與上面的圖片類似,但不是我想要的。我希望單位的方格在垂直和水平方向上分爲0.5,所有10個點都在適當的位置。相反,左邊的兩個小平面每個都有3個d1.L點的重複項,上下小平面分別包含對應於d2.L和d2.R的點。但也許我想要的是'ggplot2'不可能的。 –
另外,感謝您對我的情節的改進。確實應該以不同的方式着色不同的數據集點。此外,我沒有考慮使用'ifelse',因爲我不是那種熟悉的R. –
P.S.我想如果所有的點都在同一個數據集中,我會得到我想要的效果。 –