【问题标题】:Combine millisecond values and date to create POSIX friendly format in R结合毫秒值和日期在 R 中创建 POSIX 友好格式
【发布时间】:2021-08-09 00:21:58
【问题描述】:

我的问题是我必须合并两个字符串,一个最初格式化为 %H,%M,%S,另一个代表 ms

df = data.frame(hms = "14:39:12", ms = seq(999, 1005, by = 0.65))

如何通过将 ms 翻转为 S 并避免出现 ms 大于 1000ms 的实例的问题,将其组合并转换为具有小时、分钟、秒、毫秒的标准时间格式

感谢您的帮助

【问题讨论】:

    标签: r posix time-format


    【解决方案1】:

    解决了将其转换为代表所需输出的字符串。

    # Data frame
    df = data.frame(hms = "14:39:12", ms = seq(999, 1005, by = 0.65)) %>%
            tidyr::separate(., col = hms, sep = ":", into = c("H", "M", "S")) %>%
            mutate_all(as.numeric) %>%
            mutate(S = ifelse(ms >= 1000, S+1, S)) %>%
            mutate(ms = ifelse(ms >= 1000, ms-1000, ms))
    
    # Round values to include two points after decimal
    df$ms = round(ret$ms, digits = 5)
    
    # Recombine
    df = paste(ret$H, ret$M, ret$S, ret$ms, sep = ":")
    
    

    虽然这会按照我需要的方式格式化数据,但我仍然需要检查 R 是否会将其识别为日期,以及在绘图时是否可以将其用作离散值。

    【讨论】:

      猜你喜欢
      • 2015-12-17
      • 2020-10-07
      • 1970-01-01
      • 2012-11-16
      • 1970-01-01
      • 1970-01-01
      • 2014-10-12
      • 1970-01-01
      • 2016-02-25
      相关资源
      最近更新 更多