与R重叠的时间序列

时间:2011-12-28 16:42:41

标签: r time-series ggplot2

我的数据框df包含以下列:标记(因子),日期(POSIXct),计数(整数)。

> 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轴上的日期。

2 个答案:

答案 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))

答案 1 :(得分:2)

如果没有可重复的示例,这是一个难以回答的问题,但qplot(date,count,data=df,group=token)之类的内容可能有用。