r - 将日期和时间转换为日期+时间戳

标签 r date time

我有一个包含两列的数据集,日期和时间,我想将其转换为同时包含日期和时间的列:"2014-02-01 13:04:05" 例如。

我知道这样做的代码是:

as.POSIXct(paste(data$Date, data$Time),format="%Y-%m-%d %H:%M:%S")

这会返回很多正确的值,但也会返回 NA,因为数据集中存在问题。 我的问题在于我的数据集将 data$Time 视为因素,时间范围从 02:00:00 - 25:59:00.

所以我想要的是截断 data$Time 所以如果它超过 24:00:00 它会在日期中添加另一天并显示正确的时间.

例如: "2014-01-31 25:30:00" 将变为 "2014-02-01 01:30:00"

最佳答案

使用来自 lubridate 的 hms:

library(lubridate)
x <- "2014-01-31 25:30:00" # input

as.Date(x) + hms(sub(".* ", "", x))

给予:

[1] "2014-02-01 01:30:00 UTC"

关于r - 将日期和时间转换为日期+时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29367685/

相关文章:

r - 将文本和线条添加到图形中的 `image()`

r - 生成事件一周内所有天数的指标变量

date - Informix 中的 CURRENT 和 TODAY 有什么区别

javascript - JS : sort array on date and time

java - 获取昨天 - 日期类型的方法 getDate() 已弃用

python - 特定时区现在使用 DST 吗?

ios - 从 iphone 相机捕获图像或从库中获取图像,如何获取图像捕获时间?

r - 在R的列中查找具有多个值的所有记录

html - Timevis - 使用自定义 css 更改字体大小

r - 在 R 中生成工作日序列