我有以下数据。 order.time是整数格式。如何在不添加日期的情况下将其转换为时间格式?
order.time
9:58:58
9:58:26
9:56:28
9:56:18
9:56:12
我尝试使用parse_date_time
,strptime
,但是所有功能都在最终数据中添加了日期和时区。我只想将时间从整数格式转换为可以在x轴上随时间绘制图的格式
答案 0 :(得分:2)
在tidyverse中,hms
程序包为一天中的某个时间提供了一个S3类:
> time <- hms::as_hms(c("9:58:58", "9:58:26", "9:56:28", "9:56:18", "9:56:12"))
> time
09:58:58
09:58:26
09:56:28
09:56:18
09:56:12
> class(time)
[1] "hms" "difftime"
> str(time)
'hms' num [1:5] 09:58:58 09:58:26 09:56:28 09:56:18 ...
- attr(*, "units")= chr "secs"
函数as_hms()
也采用整数参数,但仅需几秒钟:
> (time_in_hours <- c(6, 9, 12))
[1] 6 9 12
> hms::as_hms(time_in_hours * 3600)
06:00:00
09:00:00
12:00:00
答案 1 :(得分:1)
使用a.py
:
as.POSIXct()
然后您将有一个时间对象,即times <- as.POSIXct(c('9:58:58', 9:58:26), format = '%H:%M:%S')
将为您提供:-32秒的时间差。
您可以按原样绘制它们,也可以使用times[2] - times[1]
对其进行格式化。
例如:format(x, format)
将给您'09:58:58'。
答案 2 :(得分:0)
我会签出11001\\1000
becomes
1 1 0 0 1 \\ 1 0 0 0
becomes
11001\1000
包裹。它几乎在所有时间都有效。
anytime