我有一个大的data.table,我想根据另一列满足第三列标准的值对其中的一列进行分组。我可以通过循环来做到这一点,但我想知道它是否可以在 data.table 中完成?
该表如下所示:
Group Col1 Col2
1: A 1 0.0
2: A 2 0.1
3: A 3 0.2
4: A 4 0.5
5: A 5 0.9
6: B 6 0.0
7: B 7 0.2
8: B 8 0.4
9: B 9 0.9
10: B 10 1.0
我需要的是为每个组获取 Col1 行中的值,其中 Col2 最接近 0.5。Col2 是一个累积值,范围为 0 到 1。预期结果为:
Group Col1
1: A 4
2: B 8
这可以在 data.table 中完成吗?我很难做到这一点,因此任何输入或指导将不胜感激。这是上面的data.table
DAT=data.table(Group=c(rep("A",5),rep("B",5)),Col1=1:10,Col2=c(0,.1,.2,.5,.9,0,.2,.4,.9,1))