数据:
我有一个包含 4 个变量和大约 300k 行的数据框,其中包括一个唯一的帐户 ID、yyyy-mm-dd 的开始日期、开始年份以及迄今为止客户拥有活动帐户的总月数。下面的数据片段(不要让行号混淆,这显然是一个子集,如果需要更多数据,请告诉我):
> head(ten.by.id)
acct.id start_date strt.yr max_ten
1 155 1998-11-01 1998 175
19 902 2001-09-01 2001 143
39 995 2001-09-01 2001 143
59 1014 2000-10-01 2000 153
78 1017 2000-04-01 2000 160
100 1137 2000-11-01 2000 153
问题(为什么我要渲染多面图):
显示所有年份的整个数据集的直方图会呈现以下内容:
显然,这里的信息是混合分布的,但效果是未知的。首先,我想我会用视觉检查时域效果。通过使用方面,我可以按年份提供频率分布的序列直方图,覆盖每年的 KDE 图。
如果多个分布是随时间发生的某件事的产物,我可以抽查相关的形状变化(即单峰到多峰)。我使用下面的代码来生成这个图:
maxten_time <- ggplot(ten.by.id, aes(max_ten))
+ geom_histogram(colour="grey19", fill="orange", binwidth=2, stat="bin")
+ scale_y_continuous(breaks=seq(0,12000,by=100))
+ scale_x_continuous(breaks=seq(0,180,by=45))
+ labs(title ="Serial Distribution of Max Length of Tenure for all Customers by Start Date", x="Max Tenure(months)", y="# of Customers", colour="blue")
+ facet_grid(. ~ strt.yr) + geom_density(fill=NA, colour="orange", cex=1) + aes(y = ..count..)
呈现以下内容:
重建多面图的问题:
我想做的是在每个方面添加一条水平线(或其他一些单一标记),表示每年开始的客户总数。这可以在多面情节中完成吗?
我想添加一个跨越各个方面的附加轴,以
标记所有年份的月数(1 到 175)。我是否使用 ggplot 来尝试这样做(即,由于每个方面都是其自己的情节,是否可以在所有方面对齐月份标记)?我还没有看到任何关于做这样的事情的相关例子。
目标仅仅是将每个刻面的水平线和跨刻面的轴组合到整个绘图中。任何方向都会有所帮助。
菲利普