1

我有一个人口和该人口的样本。我使用 ggplot2 和它的 faceting 选项制作了一些比较它们的图,但我突然想到,将样本放在它自己的 facet 中会扭曲总体图(尽管轻微)。有没有办法对图进行分面,以便所有记录都在总体图中,而只有第二个图中的采样记录?

4

1 回答 1

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)

如果我误解了你的问题,请告诉我。

-追赶

于 2011-02-11T17:40:08.743 回答