考虑一个名为time
的字符值数组,例如:
> head(time)
[1] "00:30:04" "00:30:02" "00:30:04" "00:30:04" "00:30:04" "00:30:04"
和:
> class(time)
[1] "character"
我希望将这些字符值更改为时间或POSIXlt
值,同时保持字符数组的美感。目前我正在使用以下功能:
> t <- strptime(time, "%H:%M:%S")
然而,结果强制在小时,分钟和秒前产生今天的日期,如下所示:
> head(t)
[1] "2016-04-16 00:30:04 BST" "2016-04-16 00:30:02 BST" "2016-04-16 00:30:04 BST" "2016-04-16 00:30:04 BST" "2016-04-16 00:30:04 BST" "2016-04-16 00:30:04 BST"
如何使今天的日期不会在小时,分钟和秒前生成?
更新
我应该澄清为什么我在问这个问题。
我希望使用ggplot2和plotly绘制一个简单的直方图。另一种机制是使用chron
包来生成时间。我可以使用以下命令执行此操作:
TimeOfDay <- chron(times=time)
,结果如下:
> head(TimeOfDay)
[1] 00:30:04 00:30:02 00:30:04 00:30:04 00:30:04 00:30:04
但是,当我使用chron
生成的TimeOfDay
数据绘制直方图时,我得到以下直方图:
plot_ly(x = TimeOfDay, type = "histogram")
此直方图的问题在于x轴仅在0和1之间,并不能真正代表生成的时间。