【发布时间】:2013-12-20 02:27:47
【问题描述】:
我是 R 和 ggplot2 的新手,我想知道如何使用 R 在给定时间生成时间线绘图点?我的日期也有一些问题。 (我不确定我是否应该将此作为两个问题发布,但这里是)。
我有一个数据框,其中年份和月份为 YYYYMM 格式的字符、两个人的姓名和发生的事件。
像这样:
> data
YearMonth Person1 Person2 Event
200606 Alice Bob event1
200606 Bob Alice event2
200608 Alice Bob event3
200701 Alice Bob event3
200703 Bob Alice event2
200605 Alice Bob event4
日期最初是整数,我使用as.character() 将其转换为字符。我正在尝试将其转换为格式化的日期。
我使用了as.Date() 并尝试了不同的方式来格式化日期。我最接近的是data$YearMonth <- as.Date(data$YearMonth,"%Y"),但这让我分别获得了所有 2006xx 和 2007xx 行的“2006-12-20”和“2007-12-20”。有什么办法可以让我得到类似“YYYY-MM”或“YYYY/MM”的东西?
我也尝试了data$YearMonth <- strptime(data$YarMonth, "%Y%m"),但这给了我<NA> 值。
但我的主要问题是时间线。
下图是我想要的那种格式:
但 x 轴显示月份和年份(如 2006-06、2006-07 ... 2007-06),并且线从标记有事件、Person1 和 Person2 的轴出来。
我查看了?timeline 的“时间线”包,但我拥有的数据框没有时间段(开始日期和结束日期)的数据。我只有一个时间点(年月)。
我还使用 ggplot2 尝试了Draw a chronological timeline with ggplot2 的示例。但是我没有 y 轴的位错,我希望事件线脱离 x 轴。
注意:这是一个非常简化的示例,因为我在 2006 年 6 月至 2007 年 6 月期间有大约一千行。是否有可能用这么多数据制作时间线?
非常感谢任何帮助。感谢您的宝贵时间!
【问题讨论】:
标签: r plot timeline date-formatting