gpt4 book ai didi

r - R中的分钟和秒计算

转载 作者:行者123 更新时间:2023-12-04 23:41:03 25 4
gpt4 key购买 nike

我是 R 统计软件的新手,我烘焙咖啡并在此过程中记录不同的事件。在烘焙过程之后,我想使用 R 进行一些计算和分析,并通过查找事件之间的时间跨度来推导出该期间的重要持续时间 - 例如:

  • 00:00 开始
  • 05:10 黄色
  • 07:15 肉桂
  • 09:00 第一次破解
  • 11:30 烘焙结束

  • (如果你是咖啡极客,想了解更多咖啡烘焙参数: https://coffee-mind.com/profile/)

    如何/什么格式可以存储这些事件并计算事件之间的时间跨度?我想以 MM:SS 显示时间跨度,但还要查看 MM:SS 周期中的总秒数。我一直在查看不同的包(如 chron 和 lubridate),但它们似乎都与时区、绝对日期等有关,而我只对分钟和秒感兴趣(无论日期和时区如何 - 不感兴趣)在这里)以及如何对这些记录的事件进行简单的减法计算。
    我对“如何编写代码”不感兴趣,但对已经为此设计的函数(如 chron 和 lubridate)以及如何直接使用它们不感兴趣(我也认为这是该社区最普遍的有趣方法?)

    最佳答案

    lubridate提供您需要的功能。除了POSIXct包含日期和时间的类,它还提供类 period持续时间。您可以在 %M:%S 中转换您的时间格式为 period如下:

    library(lubridate)
    times <- c("00:00", "05:10", "07:15", "09:00", "11:30")
    ms(times)
    ## [1] "0S" "5M 10S" "7M 15S" "9M 0S" "11M 30S"

    然后您可以使用 as.period()转换为您想要的时间单位:
    as.period(ms(times), unit = "sec")
    ## [1] "0S" "310S" "435S" "540S" "690S"

    如果您现在转换为数字,您将获得数字形式的秒数:
    seconds <- as.numeric(as.period(ms(times), unit = "sec"))
    seconds
    ## [1] 0 310 435 540 690

    您现在可以使用 diff() 获得事件之间的秒数差异。 :
    diff(seconds)
    ##[1] 310 125 105 150

    请注意,函数 ms() 还有其他变体。对于其他格式的时间: hm() (%H:%M:%S) 和 hms() (%H:%M)。

    关于r - R中的分钟和秒计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37506934/

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