2014-07-18 47 views
0

我確定這已經做了很多次,但顯然我沒有使用正確的術語進行搜索。R:分別用一個變量繪製線條,用另一個變色

我有列R中的一些時間序列數據是這樣的:

 country year  deaths   region global.region 
1 Afghanistan 2006 0.095830775 Asia & Pacific Global South 
2 Afghanistan 1994 0.127597064 Asia & Pacific Global South 
3  Algeria 2000 0.003278038 Arab States Global South 
4  Algeria 2001 0.003230578 Arab States Global South 
5  Algeria 1998 0.006746176 Arab States Global South 
6  Algeria 1999 0.019952364 Arab States Global South 
... 

基本上,我想繪製由國家所有的行,但我希望他們通過區域顏色(和傳說中的標記) 。我希望看看數據中的一些區域趨勢,而不嘗試建立一個平均模型(部分原因是我想看到異常值,部分原因是因爲很多國家缺少數據,我認爲一個好的區域模型可能對我來說很困難在這一點上,最好只是誤導)。因此,最後我會爲布基納法索,阿爾及利亞和科特迪瓦繪製單獨的線條,但它們都是橙色的。而且我會爲阿富汗,巴基斯坦和伊朗分開線路,但它們都是藍色的。

最好是用ggplot2完成,因爲這是我目前正在學習的繪圖庫。但是也許在R中有這樣一個標準的方法可以在所有(大多數)圖庫中使用?

編輯:最終解決方案:集團審美。 (感謝@baptiste)

qplot(data=df, x=year, y=deaths, color=region, group=country) + 
    geom_line() + 
    xlab('Year') + ylab('Deaths per 100,000') + ggtitle('Deaths per 100,000 by country (WHO)') 

這使得:

The plot

+0

嘗試'組'美學 – baptiste

+0

@baptiste令人尷尬的簡單!添加一個答案,我會給你一個複選標記。 :) – Anthony

回答

0

決賽解決方案:集團審美。 (謝謝@baptiste)

qplot(data=df, x=year, y=deaths, color=region, group=country) + 
    geom_line() + 
    xlab('Year') + ylab('Deaths per 100,000') + ggtitle('Deaths per 100,000 by country (WHO)') 
1

比你期望的結果略有不同,但在這裏不用..

ggplot(df, aes(x = year, y = deaths)) + 
    geom_line(aes(color = country, linetype = region)) 

plot

相關問題