将两列日期和时间数据转换为一列

时间:2013-01-16 13:26:48

标签: r

我有一个简单的数据框:

D <- c("2012/12/14", "2012/12/14")
Time <- c("18:40:37", "18:40:48")
df1 <- data.frame(D, Time)

我希望将两列日期和时间信息合并为一个,最好是日,月,年,时间格式。

我将如何做到这一点?

3 个答案:

答案 0 :(得分:16)

R> within(df1, { timestamp=format(as.POSIXct(paste(D, Time)), "%d/%m/%Y %H:%M:%S") })

           D     Time           timestamp
1 2012/12/14 18:40:37 14/12/2012 18:40:37
2 2012/12/14 18:40:48 14/12/2012 18:40:48

答案 1 :(得分:2)

稍微短一些的选择可能是:

df1 <- within(df1, { timestamp=strptime(paste(D, Time), "%Y/%m/%d%H:%M:%S") })
df1
       D     Time           timestamp
1 2012/12/14 18:40:37 2012-12-14 18:40:37
2 2012/12/14 18:40:48 2012-12-14 18:40:48

答案 2 :(得分:1)

df1$TS <- as.POSIXct(paste(df1$D, df1$Time))

这将在df1中创建一个结合日期和时间的附加列TS,其类型为POSIXct。您可以通过

确认
str(df1)