Я уверен, что это было сделано много раз, но очевидно, что я не ищу, используя правильные термины.
У меня есть данные временных рядов в 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)')
Что делает:
group
- person baptiste   schedule 18.07.2014