2014-01-30 41 views
4

我有一個數據集,我在時間軸上有一個二進制值。 因此,例如:R plot二進制時間序列

Date, Event 

January-29-2014, 1 
January-29-2014, 0 
January-29-2014, 1 
January-29-2014, 1 
January-30-2014, 0 

我想上繪製時間軸(按日期),並在顏色上1,0(紅色條= 1,藍條= 0) 我怎樣才能做到這一點? 你怎麼稱呼它?例如二進制時間線繪圖:)

對不起,感謝您的幫助。

回答

2

是否認爲這是你想要的。使用假數據:

n = 100 
x = seq(n) 
y = sample(0:1, n, replace=TRUE) 

DF = data.frame(Date=x, Event=y) 

ones = rep(1, nrow(DF)) 

colors = c("blue", "red") 
plot(DF$Date, ones, type="h", col=colors[DF$Event +1], 
    ylim=c(0,1)) 

theplot

+0

是的,這正是我想要的。只有我發現我的數據似乎只有一個標題。 「2014-01-31 0」是一個條目。所以現在我試圖把它分成兩列,所以我可以做你的建議。非常感謝。 – digit

0

不能確定你想要什麼。你是否想要白天彙總數據?像流行病學曲線一樣?

library(lubridate) 
library(plyr) 
library(ggplot2) 

dat = read.table(header=TRUE, text='Date Event 

January-29-2014, 1 
January-29-2014, 0 
January-29-2014, 1 
January-29-2014, 1 
January-30-2014, 0 ') 

dat$Date = mdy(dat$Date) 

agg = ddply(dat, 'Date', summarise, Events = sum(Event)) 

ggplot(data=agg, aes(x = Date, y = Events)) + geom_bar(stat='identity') + scale_x_datetime(expand=c(1,0)) 

輸出: enter image description here