将分钟转换为小时时出现奇怪错误
Strange error while converting minutes to hours
当我遇到 st运行ge 错误时,我正在使用下面的命令将分钟(例如 366)转换为小时和分钟格式(例如 6:06):
library(chron) #https://cran.r-project.org/web/packages/chron/chron.pdf
sub(":\d{2}", "", times((X%/%60 + X%%60 /3600)/24))
我在实际代码中指定了一个向量来代替 X,现在我将只使用一个数字。例如:
sub(":\d{2}", "", times((240.8%/%60 + 240.8%%60 /3600)/24))
按原样生成“04:01”。但是,带有 419.8 分钟的相同命令错误地给出了“6:00”?
sub(":\d{2}", "", times((419.8%/%60 + 419.8%%60 /3600)/24))
当我重新 运行 它没有数字 419 时,它又是正确的。 “06:59”。我用 运行dom 数字重新 运行 代码,它似乎与其他人一起工作得很好。我不明白这个问题。我究竟做错了什么?
library(chron)
times((419.8%/%60 + 419.8%%60 /3600)/24)
# [1] 06:01:00
times((419%/%60 + 419%%60 /3600)/24)
# [1] 06:00:59
问题出在您的 sub
正则表达式中。尝试:
sub(":\d{2}$", "", times((419%/%60 + 419%%60 /3600)/24))
# [1] "06:00"
sub(":\d{2}$", "", times((419.8%/%60 + 419.8%%60 /3600)/24))
# [1] "06:01"
更新:
此外,您的数学不正确将分钟转换为秒。尝试:
times((419.8%/%60 + 419.8%%60 / 60)/24)
# [1] 06:59:48
sub(":\d{2}$", "", times((419.8%/%60 + 419.8%%60 / 60)/24))
# [1] "06:59"
当我遇到 st运行ge 错误时,我正在使用下面的命令将分钟(例如 366)转换为小时和分钟格式(例如 6:06):
library(chron) #https://cran.r-project.org/web/packages/chron/chron.pdf
sub(":\d{2}", "", times((X%/%60 + X%%60 /3600)/24))
我在实际代码中指定了一个向量来代替 X,现在我将只使用一个数字。例如:
sub(":\d{2}", "", times((240.8%/%60 + 240.8%%60 /3600)/24))
按原样生成“04:01”。但是,带有 419.8 分钟的相同命令错误地给出了“6:00”?
sub(":\d{2}", "", times((419.8%/%60 + 419.8%%60 /3600)/24))
当我重新 运行 它没有数字 419 时,它又是正确的。 “06:59”。我用 运行dom 数字重新 运行 代码,它似乎与其他人一起工作得很好。我不明白这个问题。我究竟做错了什么?
library(chron)
times((419.8%/%60 + 419.8%%60 /3600)/24)
# [1] 06:01:00
times((419%/%60 + 419%%60 /3600)/24)
# [1] 06:00:59
问题出在您的 sub
正则表达式中。尝试:
sub(":\d{2}$", "", times((419%/%60 + 419%%60 /3600)/24))
# [1] "06:00"
sub(":\d{2}$", "", times((419.8%/%60 + 419.8%%60 /3600)/24))
# [1] "06:01"
更新:
此外,您的数学不正确将分钟转换为秒。尝试:
times((419.8%/%60 + 419.8%%60 / 60)/24)
# [1] 06:59:48
sub(":\d{2}$", "", times((419.8%/%60 + 419.8%%60 / 60)/24))
# [1] "06:59"