2016-05-24 45 views
1

我無法隨着時間的推移繪製一個變量的頻率。具體來說,我想繪製一個線圖,其中x軸是月份和年份,y軸是每個月份和年份的值的頻率,並且每個組都用顏色表示。這是我的代碼如下所示:使用ggplot2繪製多個頻率隨着時間的推移

library(reshape2) 
library(ggplot2 
r_treat<-time[,c(4,10)] 
risk_treat <- melt(r_treat, id.vars="Risk_Class", variable.name="administered_date") 

ggplot(data=risk_treat, aes(x=value, y=value, group = Risk_Class, colour = Risk_Class)) + geom_line() + geom_point(size=4, shape=21, fill="white") 

Frequency by group over time

這是dput(risk_treat)輸出:

structure(list(Risk_Class = c("Medium", "Medium", "Medium", "Low", 
"Low", "Low", "Low", "High", "High", "High", "Low", "Medium", 
"High", "High", "High", "High", "High", "High", "High", "High", 
"High", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", 
"Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", 
"Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", 
"Low", "High", "High", "High", "Medium", "Medium", "Medium", 
"Medium", "Medium", "Medium", "High", "High", "High", "High", 
"High", "High", "High", "High", "High", "High", "High", "High", 
"High", "High", "High", "High", "Medium", "Medium", "Medium", 
"High", "High", "High", "Medium", "Medium", "Medium", "Low", 
"Low", "Low", "Low", "Low", "Low", "Low", "High", "High", "High", 
"High", "High", "High", "High", "High", "High", "Low", "Low", 
"Low", "Low", "Low", "Low", "Low", "Low", "Medium", "High", "High", 
"Medium", "Medium", "Medium", "High", "High", "High", "Low", 
"Low", "Low", "Low", "High", "High", "High", "Low", "Low", "Low", 
"High", "High", "High", "High", "Low", "Low", "Low", "Low", "Low", 
"High", "High", "High", "High", "High", "Low", "Low", "Low", 
"Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", 
"Low", "High", "High", "High", "High", "High", "High", "High", 
"Medium", "High", "High", "High", "High", "High", "Medium", "Low", 
"Low", "Low", "Medium", "Medium", "Medium", "Low", "Low", "Low", 
"Low", "Low", "Low", "Low", "High", "Medium", "Medium", "Medium", 
"Medium", "Medium", "High", "Low", "Low", "Low", "Low", "Low", 
"Low", "Low", "Low", "Low", "Medium", "Medium", "Medium", "Medium", 
"Medium", "Low", "Low", "High", "High", "High", "High", "High", 
"High", "High", "High", "High", "High", "Low", "Low", "Low", 
"Low", "Low", "Low", "Low", "Low", "Low", "Low", "Medium", "Medium", 
"Medium", "Low", "Low", "Medium", "Medium", "Low", "Low", "Low", 
"Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "High", 
"High", "High", "High", "High", "High", "Low", "Low", "High", 
"High", "High", "High", "High", "Low", "Low", "Low", "Low", "Low", 
"Low", "Low", "Low", "Low", "Low", "Low", "Medium", "Low", "Low", 
"Low", "Low", "Low", "Medium", "Medium", "Medium", "Low", "Low", 
"Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", 
"Low", "Low", "Low", "High", "High", "High", "High", "Low", "Low", 
"Low", "Medium", "Low", "Low", "Low", "Low", "Low", "Low"), administered_date = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "administered_date", class = "factor"), 
    value = structure(c(2015, 2015.41666666667, 2014.91666666667, 
    2014, 2014.5, 2012.41666666667, 2013.66666666667, 2015.75, 
    2011.75, 2014.83333333333, 2014.25, 2013, 2013.83333333333, 
    2013.83333333333, 2013.91666666667, 2013.91666666667, 2014.75, 
    2014.75, 2013.25, 2014.83333333333, 2015.5, 2010.66666666667, 
    2015.83333333333, 2014.66666666667, NA, 2011.58333333333, 
    2013.5, 2013.33333333333, 2015.83333333333, 2015.33333333333, 
    2015.75, 2014, 2015.33333333333, 2015.33333333333, 2013.66666666667, 
    2013.66666666667, 2015.83333333333, 2015.83333333333, 2013.16666666667, 
    2013.16666666667, 2015.41666666667, 2015.41666666667, 2012.58333333333, 
    2012.58333333333, 2014.83333333333, 2014.83333333333, 2015, 
    2015, 2013, 2015.5, 2015.75, 2012.25, 2020.66666666667, 2013.16666666667, 
    2009.58333333333, NA, 2012.25, 2014.08333333333, 2015.83333333333, 
    2014.08333333333, NA, 2014.08333333333, 2015.08333333333, 
    2014.91666666667, 2015.75, 2014.08333333333, 2015.41666666667, 
    2014.75, 2015.33333333333, 2014.58333333333, 2015, 2013, 
    2014.58333333333, 2014.25, 2013.25, 2015.75, 2013.75, 2014.75, 
    2013.5, 2015.83333333333, 2013, 2015.58333333333, 2014.33333333333, 
    2015.5, 2014.91666666667, 2013.58333333333, 2013.41666666667, 
    2014.16666666667, 2015.75, 2015, 2014.08333333333, 2015.41666666667, 
    2014.58333333333, 2012.91666666667, 2014.41666666667, 2015.16666666667, 
    2015.08333333333, 2013.83333333333, 2013.41666666667, 2013.91666666667, 
    2015.83333333333, 2015.75, 2013.33333333333, 2014.66666666667, 
    2014.25, 2014.91666666667, 2015.33333333333, 2014.33333333333, 
    2014.58333333333, 2014.33333333333, 2014.33333333333, 2014.25, 
    2015.83333333333, 2014.16666666667, 2014.75, 2012.41666666667, 
    2013.5, 2015.5, 2014.08333333333, 2013.25, 2015.5, 2013, 
    2012.66666666667, 2015.16666666667, 2012.33333333333, 2013.41666666667, 
    2015.16666666667, 2015.16666666667, 2015.25, 2011.66666666667, 
    2015.08333333333, 2014.41666666667, 2012.91666666667, 2014.66666666667, 
    2013.16666666667, 2015.16666666667, 2013.58333333333, 2014, 
    2011.75, 2015.75, 2015.58333333333, 2011.5, 2014.91666666667, 
    2013.25, 2013.33333333333, 2005.25, 2011, 2011.83333333333, 
    2013.16666666667, 2013.91666666667, 2015.66666666667, 2014.58333333333, 
    2015.75, 2015.5, 2012.75, 2014, 2012.91666666667, 2015.66666666667, 
    2015.58333333333, 2013.08333333333, 2012.5, 2012.5, 2011.83333333333, 
    2015.66666666667, 2014.41666666667, 2015.33333333333, 2015.66666666667, 
    2013.66666666667, 2015.5, 2015.5, 2013.5, 2012.25, 2013.58333333333, 
    2015, 2015.25, 2019.25, 2013.91666666667, 2014.66666666667, 
    2015.5, 2014.41666666667, 2013.08333333333, 2013.41666666667, 
    2014.83333333333, 2014.25, 2013.41666666667, 2013.5, 2014.83333333333, 
    2015.5, 2013.75, 2014.16666666667, 2014.66666666667, 2025.66666666667, 
    2012.41666666667, 2014.66666666667, 2014.66666666667, 2013.5, 
    2013.5, 2013.25, 2014, 2014.16666666667, 2012.83333333333, 
    2013.41666666667, 2015.58333333333, 2015.16666666667, 2014.5, 
    2014.5, 2013.5, 2015.16666666667, 2014.25, 2015.66666666667, 
    2013.25, 2014.33333333333, 2014.91666666667, 2013.16666666667, 
    2014.08333333333, 2015.08333333333, 2014.75, 2012.75, 2013.41666666667, 
    2012.08333333333, 2015.5, 2005.58333333333, 2014.75, 2013.25, 
    2015.83333333333, 2014, 2013.66666666667, 2015.5, 2012.25, 
    2012.33333333333, 2015.83333333333, 2013.75, 2012.66666666667, 
    2012.41666666667, 2014.83333333333, 2012.33333333333, 2013.58333333333, 
    2014.33333333333, 2015.5, 2013.83333333333, 2014.25, 2013.91666666667, 
    2014.16666666667, 2014.66666666667, 2013.66666666667, 2012.5, 
    2015.16666666667, 2009.5, 2015.83333333333, 2014, 2014.33333333333, 
    2014.41666666667, 2013.91666666667, 2013.33333333333, 2015.25, 
    NA, 2014.08333333333, 2013.58333333333, 2013.66666666667, 
    2011.91666666667, 2013, 2012, 2014.58333333333, 2014.16666666667, 
    2012.5, 2014.41666666667, 2014.58333333333, 2013, 2015.75, 
    2012.75, 2015.66666666667, 2014.41666666667, 2014.41666666667, 
    2014.75, 2015.5, 2015.5, 2014, 2014.75, 2015, 2012.41666666667, 
    2013.91666666667, 2013.5, 2015.5, 2013.25, 2013.58333333333, 
    2014.91666666667, 2011.33333333333, 2014.25, 2013.75, 2014, 
    2015.41666666667, 2013.58333333333, 2015.08333333333, 2015.25, 
    2014.33333333333, 2013.91666666667, 2013.25, 2015, 2014.5, 
    2015.16666666667, 2015.66666666667), class = "yearmon")), row.names = c(NA, 
-301L), .Names = c("Risk_Class", "administered_date", "value" 
), class = "data.frame") 
+1

也許一個氣泡圖,其中點獲得更多的觀測較大的有? – lmo

+0

@lmo我想到了這一點,但我認爲最簡單的描述將會隨着時間的推移呈現出3條獨立的線條。 –

+1

你可以發佈一些你的數據,試着發佈'dput(risk_treat)'的輸出嗎? –

回答

1

我遇到了一些麻煩與yearmon格式,所以我切換事情交給一個簡單的Date類。

## Change formatting to date class 
df$value <- yearmon(df$value) 
df$date <- as.Date(paste('01', df$value), format='%d %b %Y') 

## Get counts for each risk class on each date 
frequencies <- with(df, table(Risk_Class, date)) 
frequencies <- as.data.frame(frequecies) 
frequences$date <- as.Date(frequencies$date) 

## Plot frequencies by date 
ggplot(frequencies, aes(date, Freq, group = Risk_Class, colour = Risk_Class)) + 
     geom_line() + 
     geom_point(size = 4, shape = 21, fill = "white") 

enter image description here

這看起來像你所追求的,但我認爲可視化可以改進。很難看到很多東西。

我認爲這可以讓你更好地看到數據,但這完全取決於你的目的。

ggplot(data= frequencies, aes(x = date, y = Freq, group = Risk_Class, colour = Risk_Class)) + 
    geom_line() + 
    geom_point(size=4, shape=21, fill="white") + 
    scale_x_date(limits = c(as.Date('2010-01-01'), Sys.Date())) 

enter image description here