我有这样的事件数据。第一列是事件名称。第二列是事件时间。多个事件用;
分隔。我想在同一行中绘制同一事件的发生情况。事件名称显示在水平方向的Y轴上。时间显示在垂直方向的X轴上。事件时间也应该在每个事件处注解。我怎么用R来表示呢?
event1 14:30:00;16:30:00;17:15:00;18:30:00;19:30:00
event2 14:30:00
event3 13:45:00;15:15:00;17:15:00
event4 13:15:00;14:15:00;15:30:00;16:25:00;17:55:00;19:40:00
event5 21:00:00
event6 13:10:00;14:15:00;15:55:00;17:40:00
event7 16:45:00;18:15:00;20:30:00
event8 14:00:00;16:45:00;18:30:00
event9 15:00:00;17:45:00;20:00:00
event10 21:00:00
event11 13:00:00
event12 14:00:00;14:30:00;15:00:00;15:30:00;16:00:00;16:30:00;17:00:00;17:30:00;18:00:00;18:30:00;19:00:00;19:30:00;20:00:00
event13 14:00:00;14:25:00;15:10:00;15:25:00
event14 17:50:00;18:15:00;19:15:00;20:25:00;20:45:00
event15 14:15:00;16:00:00;17:15:00;18:45:00;19:45:00
event16 14:30:00;16:00:00;17:30:00
event17 19:15:00
2条答案
按热度按时间svmlkihl1#
使用
tidyr::separate_rows()
分隔第二列中的时间,然后转换为时间,按数字对第一列排序,并绘制:mhd8tkvw2#
作为
tidyverse
/ggplot2
解决方案,您可以使用separate_rows
的组合来分隔由分号分隔的不同事件时间,并将数据集从宽转换为长。