我正在尝试绘制随时间变化的车辆价格。我想包括注册。没有车辆作为迷你图的标记。我的数据如下所示:
> head (x[c(1,2,3,4)])
samp.date idx price reg.date
1 2012-11-15 xxxxxxb 27490 2010-3-1
2 2012-11-15 yyyyxxm 28990 2010-9-1
3 2012-11-15 zzzzzxxv 25980 2010-9-1
4 2012-11-15 aaaaaz 31995 2011-1-1
5 2012-11-15 aaaaaar 33995 2011-3-1
6 2012-11-15 aaaaxxc 30980 2011-3-1
对于任何给定的 idx,可能有许多示例日期 (samp.date),价格可能上涨也可能下跌。所以,我想我想使用最后一个采样日期和该采样日期的价格(+/- 一些软糖因素)来标记 ggplot 线,使用 geom_text。但是,我似乎无法提取正确的坐标。我认为 ddply (来自 plyr)是正确的工具,我认为我正在取得一些进展:
ddply (x, .(idx), function (x) { return (c(tail(x$samp.date, 1), as.numeric (tail (x$price, 1))))})
但这会将 x$price 值强制为日期:
idx V1 V2
1 aaaaaau 2013-05-19 2082-03-24
2 abbbbbb 2013-05-19 2082-03-24
3 accccco 2013-03-17 2054-11-06
4 adddddo 2013-05-19 2068-07-15
可能我可以使用 V2 作为 y 坐标,但如果它是一个数字,而不是一个日期,我会感觉更快乐。ddply 的函数必须返回矩阵而不是 data.frame 的问题吗?如果是这样,我如何为返回的不同维度获取不同的类?
我可以像这样或其他方式返回不同的类型/类吗?