【发布时间】:2018-04-12 18:13:27
【问题描述】:
我有一张桌子:
ID Dates Rates
1 2010-01-01 0
1 2010-01-02 0
1 2010-01-03 2
1 2010-01-04 2
1 2010-01-05 2
1 2010-01-06 1
1 2010-01-07 0
1 2010-01-08 0
1 2010-01-09 0
1 2010-01-10 0
2 2010-01-01 3
2 2010-01-02 3
2 2010-01-03 2
我想在 Rstudio 中计算第三列“中值率”以显示每 5 个连续行的中值,表格应如下所示
ID Dates Rates Median_Rates
1 2010-01-01 0 2
1 2010-01-02 0 2
1 2010-01-03 2 2
1 2010-01-04 2 2
1 2010-01-05 2 2
1 2010-01-06 1 0
1 2010-01-07 0 0
1 2010-01-08 0 0
1 2010-01-09 0 0
1 2010-01-10 0 0
2 2010-01-01 3 3
2 2010-01-02 3 3
2 2010-01-03 2 3
然后将其应用于数据集中的所有 ID 和超过 100 万行?
我想按组 (ID) 计算每连续 5 行(例如此位置 +/- 5 行)的 Rate 的中值,并将其用作 Median_Rates 的值。
【问题讨论】:
-
我想计算每连续 5 行的 rate 中值(例如这个位置 +/- 5 行),用于计算中值 rate 的值应该是 rate 列中的值。 @divibisan
-
这称为“滚动中位数”,如果您搜索该术语,您应该会找到大量示例。在
zoo::rollapply中,您可以指定FUN = median。
标签: r