gpt4 book ai didi

r - 向 R 中的时间戳添加毫秒,即使原始字符没有毫秒?

转载 作者:行者123 更新时间:2023-12-04 08:59:51 25 4
gpt4 key购买 nike

我正在做一些动物运动分析,我想将数据提交给一个名为 Movebank 的组织。用于注释,但它们要求时间戳包含包含 3 个小数位的毫秒。
我的数据框 (dat) 中有一个列,我的时间戳为字符(没有毫秒),例如 "2017-07-19 16:30:24"要将它们转换为毫秒的时间和日期格式,我正在使用以下代码:

options(digits.secs = 3)
dat$timestamp <- as.POSIXct(dat$timestamp, format = "%Y-%m-%d %H:%M:%OS", tz = "UTC")
这在将我的时间戳列转换为 POSIXct 时效果很好,我可以用它来制作轨道等,但它不会在每个时间戳的末尾添加 .000 毫秒,这是我希望的。
我也试过:
dat$timestamp <- as.POSIXct(dat$timestamp, format = "%Y-%m-%d %H:%M:%OS3", tz = "UTC")
(注意:我添加了.. %OS3 ...)
但这会返回 NA对于我的时间戳。
任何人都可以对此有所了解吗?我基本上需要在每个时间戳的末尾添加 .000,这样,使用上面给出的示例,我的格式为 "2017-07-19 16:30:24.000"

最佳答案

如果没有有效毫秒的时间,则毫秒将被删除。

options(digits.secs=4)

x1 <- as.POSIXct("2017-07-19 16:30:25")
as.POSIXct(paste0(x1, ".000"), format="%Y-%m-%d %H:%M:%OS")
# [1] "2017-07-19 16:30:25 UTC"
但是,如果有,它们将被自动添加。
x2 <- as.POSIXct("2017-07-19 16:30:25.002")
c(x1, x2)
# [1] "2017-07-19 18:30:25.000 CEST" "2017-07-19 18:30:25.002 CEST"

关于r - 向 R 中的时间戳添加毫秒,即使原始字符没有毫秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63614214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com