根据列值将df分为n个bin

时间:2018-10-22 19:32:26

标签: r dplyr

首先,感谢您抽出宝贵时间来查看我的信息,无论您是否答复。

因此,在寻找该问题的答案之前-我无法找到解决问题的任何具体方法:

我有一个数据集,该数据集反映了以下数据:(请注意diff列中的值是由...组成的。​​懒惰是我们所有人中最好的)

id     Date     score     lag_score    diff
01    1/1/18    .26        .4367       -.674
012   1/1/18    .176       .2038       -.156
101   1/1/18    .375       .83         -1.22
56    1/1/18    .64        .24         .6178
43    1/1/18    .18        .1505       .204
...     ...      ..        ...         ...

从本质上讲,我有许多不同ID的df(日期保持为1/1/18),我的目标是创建5个新的df,该Df根据Diff列平均分割我的df(一个箱中的最高diff) ,最后一个箱中的差异最小,中间箱中的差异逐渐减小)。理想情况下,我希望可以将df自动拆分为5个bin,但是,如果有一种方法可以使df上的BINS列发生突变,那么我不介意事后编写子集函数,因为我的#的垃圾箱相对较小(5)[可能看起来像这样]

理想情况下-所有垃圾箱都应具有相对相同的ID号。

 id     Date     score     lag_score    diff   BINS
01    1/1/18    .26        .4367       -.674    5
012   1/1/18    .176       .2038       -.156    4
101   1/1/18    .375       .83         -1.22    5
56    1/1/18    .64        .24         .6178    1
43    1/1/18    .18        .1505       .204     2
...     ...      ..        ...         ...     ...

当前,我有以下代码,但是,这会产生一些非常不稳定的结果,并且不会产生我想要的结果,可能是因为我在findInterval中使用了第二个参数错误。

df <- split(df, findInterval(df$diff, floor(min(df$diff)):0))

0 个答案:

没有答案