如果我在同一个图上有两个数据集,我可以在那个图上有两个独立的方面,每个方面对应一个不同的数据集吗?
例如,在散点图中,可以在 x 方向上拆分一个数据,可以在 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 ~ .)