【发布时间】:2017-06-15 22:36:15
【问题描述】:
我的数据集的 R 中有一个列,其中的值已转换为我认为基于 天 的时间小数部分。我一直使用这个网站作为参考:http://www.calculatorsoup.com/calculators/time/decimal-to-time-calculator.php
通过执行以下操作,哪个转换 0.3408565 天对应于 8:10:50 的时间:
0.3408565 * 24 hours/day = 8.180555544 = 8 hours
0.180555544 * 60 minutes = 10.83333264 = 10 minutes
0.83333264 * 60 seconds = 49.9999584 = 50 seconds
正如您所看到的,它正在提取余数并进行进一步的乘法运算,但是我不确定如何在 R 中实现该过程。我想使用它转换列中的所有值,以便替换 0.3408565, 0.3864468、0.4400231 等,其实际时间分别为 8:10:50、09:16:29、10:33:38。这似乎也是它在 Excel 中的完成方式。
我尝试编写自己的英文函数:
convertTime <- function(x)
{
x * 60 = Hour
x2 * 24 = Min
x3 * 24 = Sec
hourChar <- as.character(Hour)
minChar <- as.character(Min)
secChar <- as.character(Sec)
paste(hourChar, minChar, secChar, sep=":")
}
x 为 0.3408565,但这当然不会提取余数。我可能会严重过度复杂化它,但我想循环使用每个值作为转换输入的列中的所有值。
最后,我查看了诸如“lubridate”之类的软件包,但找不到与我的问题相关的任何内容。
我也在这里浏览了我的具体情况,但找不到与我的问题真正相关的任何内容。有没有可以帮助我的软件包或解决方案?
编辑:我想说这两个答案都非常适合遇到此类问题的其他人,谢谢你们!
【问题讨论】:
标签: r time-format datetime-conversion