首页 文章

R ggplot2聚合

提问于
浏览
-3

HI所有我有一个包含许多因素的数据框,然后是一些数字字段

数据看起来像这样

Date Source Device Sessions 2014-05-01 Email Desktop 245 2014-05-01 Facebook Desktop 132 2014-05-01 (not set) Desktop 1143 2014-05-01 Email Mobile 72 2014-05-01 Facebook Mobile 96 2014-05-02 Email Desktop 187 2014-05-02 Email Mobile 32 2014-05-02 Facebook Desktop 110

我想在ggplot2中创建一个折线图,该折线图具有沿X轴的日期并聚合由该线表示的会话总数 . 我似乎无法找出如何根据日期值聚合会话列中的数据 .

我还非常希望能够创建一个图表,该图表使用设备变量为列中的每个值创建一条线(例如,总结桌面会话的线和总结移动台会话的线)仍在使用日期为x轴 .

提前致谢

1 回答

  • 0

    尝试:

    > tt2 = with(ddf, tapply(Sessions, list(Date,Device), sum ))
    > data.frame(tt2)
               Desktop Mobile
    2014-05-01    1520    168
    2014-05-02     297     32
    > 
    > dd2 = data.frame(tt2)
    > 
    > dd2
               Desktop Mobile
    2014-05-01    1520    168
    2014-05-02     297     32
    > 
    > 
    > 
    > dd2$date = rownames(dd2)
    > dd2
               Desktop Mobile       date
    2014-05-01    1520    168 2014-05-01
    2014-05-02     297     32 2014-05-02
    > 
    > 
    > 
    > dd2m = melt(dd2, id='date')
    > 
    > dd2m 
            date variable value
    1 2014-05-01  Desktop  1520
    2 2014-05-02  Desktop   297
    3 2014-05-01   Mobile   168
    4 2014-05-02   Mobile    32
    > 
     ggplot(dd2m, aes(x=date, y=value, group=variable, color=variable))+geom_point()+geom_line()
    
    >
    

    enter image description here

相关问题