【问题标题】:Rounding up the time expression in R在R中四舍五入时间表达式
【发布时间】:2022-01-07 16:14:17
【问题描述】:

我有一个数据 YY 有一个列 timetime 栏目如下:

例如,20211201000010 表示 2021-12-01 00:00:10

time <- strptime(Y$time, format = "%Y%m%d%H%M%S")

start_time <- min(time)

在此代码中,start_time2021-12-01 00:00:02

但我想将start_time作为2021-12-01 00:00:10进行四舍五入,因为start_time对于我的数据来说应该是10秒的间隔。

如何将2021-12-01 00:00:02 舍入为2021-12-01 00:00:10

【问题讨论】:

  • 好的。下次我不会包含不相关的标签。

标签: r datetime


【解决方案1】:

lubridate 包永远是我们约会工作的朋友。


library(lubridate)      
xx1 <- '20211201010002'

ymd_hms(xx1) %>%
  ceiling_date(unit = '10s')

[1] "2021-12-01 01:00:10 UTC"

【讨论】:

    【解决方案2】:

    在格式化数据之前,您可能需要计算余数(除以 10)。

    例如

    20211201000002 %% 10 = 2;
    20211201000010 %% 10 = 0
    

    然后你会找到列表中的第一个 0。

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-26
      • 2012-08-30
      • 1970-01-01
      相关资源
      最近更新 更多