gpt4 book ai didi

r - 在 R 中使用大于 24 小时的时间值

转载 作者:行者123 更新时间:2023-12-01 11:42:46 26 4
gpt4 key购买 nike

我正在尝试对大于 24 小时的时间值执行计算。在这个简短的示例中,我试图根据某人的就寝时间和起床时间来计算他们的 sleep 持续时间。但是,如果就寝时间在午夜之后,则数据将作为大于 24 小时的时间值输入。例如,如果有人在凌晨 2 点 sleep ,则他们的就寝时间值为 26:00:00。如何在 R 中处理大于 24 小时的时间值?

这是我的简短示例尝试:

library(chron)

bedtime <- c("22:37:34","23:03:32","24:41:23")
waketime <- c("06:41:23","07:25:18","08:47:08")

bedtimeAsTime <- chron(times=bedtime) #results in error
waketimeAsTime <- chron(times=waketime)

#Add 24 hours
waketimeAsTime <- waketimeAsTime + 1

sleepDuration <- waketimeAsTime - bedtimeAsTime

chron函数不接受大于24小时的时间值,将其转为NA。关于如何处理这个问题的任何想法?

提前致谢!

最佳答案

我确定已经有一个包可以做到这一点,但您可以使用 strsplitas.numeric 将所有这些时间转换为秒数。

ConvertToSeconds <- function(X)
{
X <- strsplit(X, ":")
sapply(X, function(Y) sum(as.numeric(Y) * c(3600, 60, 1)))
}

bedtime <- ConvertToSeconds(bedtime)
waketime <- ConvertToSeconds(waketime) + (86400) #Seconds in 24 hours

sleeptime <- waketime-bedtime
sleeptime
[1] 29029 30106 29145

关于r - 在 R 中使用大于 24 小时的时间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17889948/

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