为什么结果显示的是天数而不是一天中的时间(例如 23:09)

问题描述 投票:0回答:1

我想知道睡眠时间的平均值,但由于有时午夜之后,它似乎给了我以天为单位的时间平均值,我如何才能将其转换为 24 小时时间?

data <- read.table(text="
sleep_time wake_time
23:30:00 03:30:00
23:50:00 06:00:00
00:50:00 07:30:00
00:30:00 06:25:00
00:20:00 06:00:00
23:00:00 06:00:00
00:10:00 05:00:00
", header=T)

mean(times(data$wake_time))
# [1] 05:46:26

mean(times(data$sleep_time))
# [1] 10:18:34

wake <- times(data$wake_time)

sleep <- times(data$sleep_time)

times(mean(ifelse(sleep < wake, sleep + 1, sleep)))
# Time in days:
# [1] 1.000992
r time mean
1个回答
0
投票

假设您正在使用 chron 包,那么

"times"
对象旨在表示日期/时间中的时间,而不是持续时间;但是,无论如何,我们都可以通过单独提取日期和时间部分并将它们粘贴在一起来获得效果。如果
tt
是问题中最后一行代码的结果,则确定天数并创建一个字符串,显示该结果以及减去它后剩下的内容。

days <- as.integer(tt)
paste(days, tt - days)
## [1] "1 00:01:26"
© www.soinside.com 2019 - 2024. All rights reserved.