我正在尝试使用 ggplot 和 R 来分析一些流行病学数据,并且我仍在努力使流行曲线正确显示。
数据在这里
attach(epicurve)
head(epicurve)
onset age
1 21/12/2012 18
2 14/06/2013 8
3 10/06/2013 64
4 28/05/2013 79
5 14/04/2013 56
6 9/04/2013 66
epicurve$onset <- as.Date(epicurve$onset, format="%d/%m/%Y")
ggplot(epicurve, aes(onset)) + geom_histogram() + scale_x_date(breaks=date_breaks("1 year"), minor_breaks=date_breaks("1 month"), labels = date_format("%b-%Y"))
给出了这张图。这很好,但 binwidth 与任何时间段无关,调整它们有点反复试验。
对于这个特定的数据集,我想按发病月份显示病例。
我想出如何做到这一点的一种方法是:
epicurve$monyr <- format(epicurve$onset, "%b-%Y")
epicurve$monyr <- as.factor(epicurve$monyr)
ggplot(epicurve, aes(monyr)) + geom_histogram()
输出由于信誉系统而无法发布的图表。条形代表有意义的东西,但轴标签是炸弹点。我无法格式化轴,scale_x_date
因为它们不是日期,而且我无法计算出要传递给哪些参数以scale_x_discrete
提供有用的标签。
我觉得应该有一种更简单的方法来做到这一点,方法是对起始列进行操作。任何人都可以给我任何指示吗?