我有人口和该人口的样本。我已经使用ggplot2及其faceting选项对它们进行了一些比较,但我发现将样本放在自己的方面会扭曲人口图(不过稍微)。有没有办法对图表进行分面,以便所有记录都在人口图中,而只是第二个图中的采样记录?
答案 0 :(得分:4)
马特,
如果我理解你的问题 - 你想要一个多面图,其中一个面板包含你的所有数据,后面的面只包含第一个图的一部分?
可能有一种更简洁的方法,但您可以创建一个新的data.frame
对象,其中包含与每个子集对应的相应分面变量。考虑:
library(ggplot2)
df <- data.frame(x = rnorm(100), y = rnorm(100), sub = sample(letters[1:5], 100, TRUE))
df2 <- rbind(
cbind(df, faceter = "Whole Sample")
, cbind(df[df$sub == "a" ,], faceter = "Subset A")
#other subsets go here...
)
qplot(x,y, data = df2) + facet_wrap(~ faceter)
如果我误解了你的问题,请告诉我。
-Chase