day month year hour
01 05 2017 00
05 12 2017 01
10 07 2017 23
Run Code Online (Sandbox Code Playgroud)
我没有分钟和秒列,现在我正在尝试以以下格式获取单个变量作为 date_time
2017-05-01 00:00:00
2017-12-05 01:00:00
2017-07-10 23:00:00
Run Code Online (Sandbox Code Playgroud)
使用以下代码时出现错误
df$date <- as.Date(with(df, paste(year, month, day,hour,sep="-")),
"%Y-%m-%d %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)
提前致谢
我们可以尝试将paste这些列与 一起使用sprintf,然后使用 转换为日期时间as.POSIXct
as.POSIXct(do.call(sprintf, c(df1, fmt = c("%02d-%02d-%4d %02d"))), format = "%d-%m-%Y %H")
#[1] "2017-05-01 00:00:00 IST" "2017-12-05 01:00:00 IST" "2017-07-10 23:00:00 IST"
Run Code Online (Sandbox Code Playgroud)
或者使用lubridate
library(lubridate)
with(df1, ymd_h(paste(year, month, day, hour, sep= ' ')))
Run Code Online (Sandbox Code Playgroud)