没有日期的 R 时间线

R Timeline Without Dates

我正在尝试制作一个时间轴,就像您使用任何 timevis、vistime 或 timeline R 包制作的那样,但我只对时间感兴趣,对日期不感兴趣。我不介意在那里放一个占位符日期,但似乎所有这些包都需要开始和结束时间来包含日期并将日期包含在时间轴中。

我一直在寻找方法,要么不在时间轴中包含日期,要么只打印时间而不打印任何这些包中的日期,但一直找不到任何东西。有人有什么想法吗?

如果你想在没有任何日期信息的情况下表示时间,你应该试试包 hms。它是 tidyverse 集合的一部分,描述为:

A simple class for storing durations or time-of-day values and displaying them in the hh:mm:ss format.

使用示例:

library(hms)
hms(56, 34, 12)
#> 12:34:56

所有这些包都在幕后使用 as.POSIXct,这要求对象是 Date 对象并且不适用于时间。因此,如果您的数据只有一天左右,您可以在时钟时间上添加日期(使用 paste),例如vistime 将只显示时间(好的,日期几乎完全隐藏在角落里):

dat <- data.frame(event = 1:2,
                    start = c("14:00", "16:00"),
                    end = c("15:30", "17:00"))

# add a Date
dat[,c("start", "end")] <- sapply(dat[,c("start", "end")], function(x) paste(Sys.Date(), x))

vistime(dat)

我用的是vistime版本0.7.0.9000,可以通过执行devtools::install_github("shosaco/vistime").

得到