我希望我能够正确地说出来。
我有一个代表事件发生的日期向量。 它看起来像这样:
days_of_event <- c("2016-08-15", "2016-07-18", "2016-08-17", ...)
向量的类是"Date"
。
我想制作一个情节,其中x轴代表一年中的几天(从2016-01-01
到2017-01-01
),并在事件发生时在情节上添加某种标记。
我能够用
创建X轴的值days <- seq.Date(lubridate::ymd("2016-1-1"), lubridate::ymd("2017-1-1"), "days")
但我不知道从哪里开始。
我是R的新手并且它仍然非常令人困惑,所以每一个帮助我指向正确方向的人都会受到赞赏。
答案 0 :(得分:1)
您可以执行以下操作:
days_of_event <- as.Date(c("2016-08-15", "2016-08-18", "2016-08-17"))
#Create a data.frame marking the dates of events
x <- data.frame(id = days_of_event, val = rep(1,length(days_of_event)))
#Create a data.frame with your time span (just a month in this example)
y <- data.frame(id = seq.Date(as.Date("2016-08-01"),as.Date("2016-09-01"), "days"))
#Join the two Frames and plot the result
plot(merge(y,x,by=c("id"),all.x=TRUE),las=2,col="red",pch=16,cex=1.5,ylab="",yaxt="n",xlab="")
答案 1 :(得分:1)
使用ggplot:
library(ggplot2)
days <- seq.Date(lubridate::ymd("2016-1-1"), lubridate::ymd("2017-1-1"), "days")
#randomly sample on or off, replace with your data
days_df = data.frame( days = days, event = sample(x = 0:1, size = length(days), replace = TRUE))
days_df %>% ggplot() + geom_point(aes(x = days, y = event))