子集数据,找到MAX,MIN,Mean并绘制它

时间:2017-04-30 10:20:57

标签: r

所以我的数据如下:

id expressions mode 
1      22       0
2      24       0
3      23       0
4      5        1
5      56       1
6      42       1
7      32       0
8      21       0
9      11       1
10     72       1

所以我会根据上一个问题得到一张新表:

id     max     mean    min    mode 
1       24      23      22      0
2       56      51      5       1
3       32      26      21      0
4       72      41      11      1

所以基本上是滚动应用函数和变量窗口,它在切换发生时考虑一个窗口,在输出中,我已经显示了。

1 个答案:

答案 0 :(得分:0)

我们可以使用data.table根据'mode'的run-length-id进行操作分组,并获取'{1}}'表达式'

max/mean/min/mode

library(data.table) setDT(df1)[, .(Max = max(expressions), Mean = round(mean(expressions)), Min = min(expressions)), .(id = rleid(mode), mode)] # id mode Max Mean Min #1: 1 0 24 23 22 #2: 2 1 56 34 5 #3: 3 0 32 26 21 #4: 4 1 72 42 11

tidyverse