数据框中的季度日期

时间:2014-08-11 14:47:41

标签: r

我有一个这样构建的数据框

日期值变量

但是,我的数据中的日期是每季度,从2000 Q1中的.csv读入,等等。 因此,我转换日期的常规方法是:

   mychart11$Date <- as.Date(mychart$Date , "%d/%m/%y")
   mychart11[order(mychart$Date),]

不起作用,因为季度没有%q选项。

我知道我可以使用zoo包从数据中创建季度日期,但我需要它们在数据框中,因为我需要稍后使用ggplot使用像

之类的代码绘制日期
geom_line(data=mychart, aes(Date, value, group="Date", colour="Total"), 
position=position_dodge(1)) + scale_x_date(labels = date_format("%b"))

因为日期是一个因素,我收到错误消息

  

输入无效:date_trans仅适用于类Date的对象

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用zoo将数据转换为类yearqtr,然后使用as.Date()(来自动物园包...实际上是as.Date.yearqtr())转换为定期约会。

mychart11$Date <- as.Date(as.yearqtr(mychar$Date),frac=0)

请注意,frac=0将创建一个生成日期,该日期位于所述季度的开头。使用frac=1来结束本季度。在两者之间也允许使用值,但我不认为它们会很常见。