我一直无法找到一个简单的模拟来从 ggplot2 中的表格对象绘制折线图。鉴于包装的优雅和实用性,我觉得我一定遗漏了一些非常明显的东西。作为一个例子,考虑一个具有年度观察的数据框:
dat<-data.frame(year=sample(c("2001":"2010"),1000, replace=T))
以及以 R 为基础的快速时间序列图:
plot(table(dat$year), type="l")
切换到 qplot,返回错误“尝试应用非函数”:
qplot(table(dat$year), geom="line")
ggplot2 需要一个数据框。很公平。但这会返回相同的错误。
qplot(year, data=dat, geom="line")
经过一番搜索和摆弄后,我放弃了qplot
,并提出了以下方法,其中包括指定线几何、合并计数和删除最终值以避免绘制零。
ggplot(dat, aes(year) ) + geom_line(stat = "bin", binwidth=1, drop=TRUE)
这似乎是一个相当长的步行街区。而且它仍然不能完全令人满意,因为这些箱与 x 轴上的年中值不完全一致。我哪里出错了?