gpt4 book ai didi

r - 如何处理 R 中每个距离数据的次数

转载 作者:行者123 更新时间:2023-12-02 16:57:16 24 4
gpt4 key购买 nike

我有时间的数据,例如11:42.7(格式“%M:%OS”)需要行驶一定距离(例如 3000 米)。现在,我希望能够计算分段时间(例如每 500 米所需的时间)。

timeVar  <- "11:42.7"
distance <- 3000

我试过这个来计算它:

(strptime(timeVar, "%M.%S")/distance)*500

但这会返回:Ops.POSIXt(strptime(timeVar, "%M.%S"), distance) 中的错误: “/”未为“POSIXt”对象定义。

使用 lubridate 包我可以计算出这个:

library(lubridate)
(as.duration(ms(timeVar))/distance)*500

返回 [1] "117.116666666667s (~1.95 minutes)"但我希望结果采用 ("%M:%OS") 格式。有没有必要的方法来处理这个?例如,我想在其中一个轴上使用格式的地方绘制数据,但我也想使用这些数据进行回归分析。 POSIXt 格式也有类似的事情。

最佳答案

您可以seconds_to_period(在lubridate 中)将其转换为分钟/秒。然后,用sprintf格式化成你喜欢的样子,如下:

time <- seconds_to_period((as.duration(ms(timeVar))/distance)*500)

sprintf('%02d:%2.1f', minute(time), second(time)) # 01:57.1
#or using paste0
paste0(minute(time),':',round(second(time),1)) # 1:57.1
#or if you want it with hours
paste0(time@hour,':',minute(time),':',round(second(time),1)) # 0:1:57.1

希望对您有所帮助。

关于r - 如何处理 R 中每个距离数据的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55958347/

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