基于不同列值运行功能

时间:2017-08-23 16:18:41

标签: r average plyr

我确信有类似的问题,但我对R有些新意,找不到有用的东西。我正在使用预测包从一年的数据中创建移动平均线。我想运行这个功能:

CityColl$cnt_ma <- ma(CityColl$clean_cnt, order=7)

但是每个城市都是分开的。

我尝试过分割和应用这样的函数:

CityColl$cnt_ma <- ddply(CityColl, .(city), ma(CityColl$clean_cnt, order=7))

但这似乎是非常错误的......

       start_time       city clean_cnt
   <date>      <chr>        <int>
     1 2016-01-01     Boston          242
     2 2016-01-01    Chicago          935
     3 2016-01-01 Washington         3220
     4 2016-01-01     Philly          639
     5 2016-01-02     Boston          221
     6 2016-01-02    Chicago         1421
     7 2016-01-02 Washington         4922
     8 2016-01-02     Philly          549
     9 2016-01-03     Boston          245
     10 2016-01-03    Chicago         1399

1 个答案:

答案 0 :(得分:0)

试试这个:

require(data.table)
require(forecast)

setDT(CityColl)

CityColl[, ma(city, order = 7), by = city]