1

亲爱的,我正在处理一个包含几年数据的文件,我正在尝试创建一个额外的列,它从日期列(例如 01/01/1997 12:00)读取年和月信息并创建一个新列月份和年份一起(例如 Jan-97)。

我不确定如何进行此操作,但我要编写的是下图中名为“new_date”的列:

在此处输入图像描述

我的样本数据:

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")

如果您能建议我如何进行此操作,我将不胜感激。

4

1 回答 1

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"
于 2012-04-12T17:25:54.180 回答