3番目の条件を満たす別の列の値に基づいて1つの列をグループ化する大きなdata.tableがありますカラム。私はループでこれを行うことができますが、それはdata.tableで行うことができますか?data.tableの3番目の列の条件に基づいて2番目の列の値で列をグループ化します
テーブルは次のようになります。私は必要なもの
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
各グループでcol2が0.5に最も近いのCol1の行の値を取得するためのものです。 Col2は0から1までの累積値です。予想される結果は次のとおりです。
Group Col1
1: A 4
2: B 8
これは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))
おかげで、これは非常に巧妙なソリューションです – Camilo