我正在尝试制作时间轴图,但遇到了一些问题。我的数据框如下所示:
Event Date
b 1/3/2016
b 1/4/2016
a 1/4/2016
a 1/5/2016
有更多的数据点,但这说明了这一点。我的最终目标是拥有一个数据集,我可以用'Event a:1/4/2016 - 1/5/2016'等绘制所有事件。
但是,当我对数据进行排序并尝试对其进行分类时,我最终会得到如下数据:
Event Date
b 1/3/2016
a 1/4/2016
b 1/4/2016
a 1/5/2016
所以我的最终绘制数据集出现了'事件b:2016年1月3日','事件a:1/4/2016','事件b:2016年1月4日','事件a:1 / 5/2016'而不是两个事件的2个日期范围。
这有意义吗?基本上我有一个大型数据集,其中包含某些日期的事件,我想通过数据对其进行分类并制作一个时间轴,说明事件a,b,c等是从范围x-y,a-b等发生的,并绘制出来。
感谢您的帮助!
答案 0 :(得分:4)
你没有提供很多关于你想要的情节类型的信息,但这里有一些东西可以帮助你开始(使用ggplot2)。
dat.df <- read.table(text="
Event Date
b 1/3/2016
a 1/4/2016
b 1/4/2016
a 1/5/2016",
header = TRUE)
dat.df$Date <- as.Date(dat.df$Date, format="%d/%m/%Y")
ggplot(data=dat.df, aes(x=Date, y=Event, color=Event)) + geom_line()
答案 1 :(得分:1)
您可以尝试使用xts package或其子集Zoo来整理数据。它们特别适合处理时间序列。
他们通过创建xts
或zoo
对象来定义时间序列的数据结构。它们由您的数据作为第一个参数组成,相对日期作为第二个参数组成。
library(zoo)
ts <- zoo(yourdata, yourdates)
完成此步骤后,您可以像任何其他R对象一样轻松地绘制zoo
对象。
plot(ts)