使用特定日期格式为日期信息创建新列

时间:2012-04-12 17:17:45

标签: r

亲爱的所有我正在使用一个有几年数据的文件,我正在尝试创建一个从日期coloumn(例如01/01/1997 12:00)读取年份和月份信息的aditional coloumn并创建一个与月份和年份一起的新coloumn(例如Jan-97)。

我不知道如何继续这样做,但我想要编码的是名称为#34; new_date"在下图中:

enter image description here

我的示例数据:

Data <-
structure(list(date = structure(c(1L, 4L, 7L, 2L, 5L, 8L, 3L, 
6L, 9L), .Label = c("01/01/1997 12:00", "01/01/1998 15:00", "01/01/1999 18:00", 
"01/02/1997 13:00", "01/02/1998 16:00", "01/02/1999 19:00", "01/03/1997 14:00", 
"01/03/1998 17:00", "01/03/1999 19:00"), class = "factor"), value = c(29L, 
31L, 42L, 42L, 52L, 61L, 57L, 55L, 56L)), .Names = c("date", 
"value"), row.names = c(NA, -9L), class = "data.frame")

如果你能告诉我如何处理这个问题,我真的很感激。

1 个答案:

答案 0 :(得分:6)

查看?strptime以获取正确的格式。

首先将日期列设为日期:

dat$date <- as.POSIXct(dat$date, format='%d/%m/%Y %H:%M')

然后使用您想要的格式创建新列:

dat$pretty.date <- format(dat$date, format='%b-%y')

> dat$pretty.date
[1] "Jan-97" "Feb-97" "Mar-97" "Jan-98" "Feb-98" "Mar-98" "Jan-99" "Feb-99" "Mar-99"