将日期列从年 - 月 - 日转换为仅年 - 月

时间:2014-04-09 01:49:23

标签: r date datetime ggplot2 data.table

我有一个带有日期列的数据集。我正在尝试将该日期列转换为仅具有月份和年份的日期列,作为Posix日期。我需要能够做到这一点的原因是能够在ggplot2和scale_x_date中使用月份宽的bin。这是一个测试数据集:

testset <- data.table(date=as.Date(c("2013-07-02","2013-08-03","2013-09-04","2013-10-05","2013-11-06","2013-07-03","2013-08-04","2013-09-05","2013-10-06","2013-11-07")), plant = LETTERS[1:5], PlantID = c(1,2,3,4,5,1,2,3,6,7), product = as.factor(letters[26:22]), rating = runif(30))

基本上,我想将日期列转换为仅适用于年月的列。

任何快速,雄辩的方式来做这样的事情?

编辑:我创建了另一个线程,其中包含了我正在寻找的更多目标。它位于:Creating month-sized bins with ggplot2 in r

1 个答案:

答案 0 :(得分:3)

从手册:

“”yearmon“类用于表示月度数据。在内部,它将数据保存为年份加上 1月份为0,2月份为1月12日,3月份为2月12日,依此类推,以便其内部代表 与频率= 12的ts类相同。“

> require(zoo)
> as.yearmon("2007-03-01")
[1] "Mar 2007"
> as.numeric(as.yearmon("2007-03-01"))
[1] 2007.167

这是你真正想要的,一年只有一小部分吗?如果这适用于你,请参阅

http://cran.r-project.org/web/packages/zoo/zoo.pdf