2

我有一个包含连续变量和n级因子的数据集。

我想分别绘制每个级别的经验累积分布函数以及每个面板中的整体 ecdf。关键是将子集(级别)的 ecdf 与整体(完整数据集)进行比较。

在一个面板中绘制每个 ecdfs 很容易(以“钻石”数据集为例):

ggplot(diamonds) + 
  stat_ecdf(aes(x=carat, colour = color)) + 
  stat_ecdf(aes(x=carat), lwd=1, linetype="dotted")

但是当我尝试使用 faceting 选项将级别分成面板时

ggplot(diamonds) + 
  stat_ecdf(aes(x=carat, colour = color)) + 
  stat_ecdf(aes(x=carat), lwd=1, linetype="dotted") + 
  facet_wrap(~color, ncol=4)

我将每个子集的 ecdf 绘制两次,而不是具有子集 ecdf 和整体 ecdf(虚线)的n 个面板。

我确定我遗漏了一些明显的东西。如果我正在复制别人的问题,请随时指出相关问题。

4

1 回答 1

1

另一个 hacky 解决方案,在绘制整体 ecdf 时color从数据集中删除变量:diamonds

ggplot(diamonds) + 
  stat_ecdf(aes(x=carat, colour = color)) + 
  stat_ecdf(data=diamonds[, names(diamonds) != "color"], aes(x=carat), lwd=1, linetype="dotted") + 
  facet_wrap(~color, ncol=4)
于 2014-07-18T15:54:46.153 回答