数据:
我有一个包含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
问题(为什么我要渲染多面图):
显示所有年份的整个数据集的直方图,呈现以下内容:
显然,这里有混合的信息分布,但效果未知。首先,我以为我会用视觉检查时域效果。通过使用facet,我可以按年提供频率分布的连续直方图,覆盖每年的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来尝试这样做(即,因为每个方面都是它自己的情节,所以即使可能,也可以将月份标记对齐所有方面)?我没有看到任何相关的例子来做这样的事情。
目标仅仅是将每个方面中的水平线和横跨小平面的轴组合成整个图。任何方向都会有所帮助。
菲利普