2011-12-28 3 views
0

В моем фрейме данных df есть эти столбцы: токен (коэффициент), дата (POSIXct), счетчик (целое число).Временные ряды перекрытия с R

> head(df,3) 
    token  date    count 
1 foo 10/1/2011 12:00:00 AM  6 
2 bar 10/12/2011 12:00:00 AM 24 
3 baz 10/14/2011 12:00:00 AM  4 

Я знаю, как построить временной ряд для коэффициента foo, например. qplot(date, count, data=df[df$token == "foo",], geom="line");. Но как я могу составить временные ряды всех факторов в одну и ту же диаграмму, каждая факториальная линия с другим цветом.

Как я могу рассчитать ежедневные подсчеты для значений в столбцах токена (например, foo, bar, baz) и дат? В основном учитывается ось y и даты на оси x.

+0

Должно ли быть в ggplot - решетка разрешена? –

+0

Я не знал о решетке. Это будет хорошо. – amh

+0

Не могли бы вы приложить какое-то изображение результата (возможно, вручную или с помощью любого графического редактора)? Я не знаю о других, но для меня неясно, чего вы хотите достичь. –

ответ

2

Это трудный вопрос для ответа без воспроизводимого примера, но что-то вроде qplot(date,count,data=df,group=token) может работать.

+0

'by'? 'фасетов' может быть? Или, возможно, OP хочет «группу», чтобы держать их всех на одной панели? – joran

+0

@joran: Хороший звонок, я имел в виду 'group' не' by'. – Zach

+0

Было бы разумно иметь панель для каждого уровня маркера. –

3

У меня есть data.frame, который выглядит следующим образом (я использовал reshape::melt, чтобы получить данные от широкоугольного до длинного формата):

> head(big) 
      Taxa variable value sites 
1  Coleoptera 15.4.-30.4. 92 Low 
2  Orthoptera 15.4.-30.4.  2 Low 
3  Heteroptera 15.4.-30.4. NA Low 
4  Homoptera 15.4.-30.4. NA Low 
5 Auchenorrhyncha 15.4.-30.4. NA Low 
6  Neuroptera 15.4.-30.4. NA Low 

И я использовал ggplot2 код, чтобы создать этот образ enter image description here

ggplot(big, aes(x = droplevels(Taxa), fill = sites, y = value)) + 
     geom_bar(position = "dodge") + 
     facet_wrap(~ variable) + 
     scale_x_discrete(name = "Taksoni") + 
     scale_y_continuous(name = "Abundanca") + 
     scale_fill_discrete(name = "Vzorčna \n mesta") + 
     opts(axis.text.x = theme_text(angle = 90)) 
Смежные вопросы