我有一个简单的数据框:
D <- c("2012/12/14", "2012/12/14")
Time <- c("18:40:37", "18:40:48")
df1 <- data.frame(D, Time)
我希望将两列日期和时间信息合二为一,最好采用日、月、年、时间的格式。
我该怎么做呢?
我有一个简单的数据框:
D <- c("2012/12/14", "2012/12/14")
Time <- c("18:40:37", "18:40:48")
df1 <- data.frame(D, Time)
我希望将两列日期和时间信息合二为一,最好采用日、月、年、时间的格式。
我该怎么做呢?
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
一个稍短的替代方案可能是:
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
df1$TS <- as.POSIXct(paste(df1$D, df1$Time))
这将在 df1 中创建一个额外的列 TS,它结合了日期和时间,并且类型为 POSIXct。您可以通过以下方式确认
str(df1)