J'ai une grande table de données à partir de laquelle je veux regrouper une colonne basée sur la valeur d'une autre colonne qui répond aux critères d'un tiers colonne. Je peux le faire avec une boucle mais je me demande si cela peut être fait dans data.table?groupe une colonne par les valeurs de la deuxième colonne basée sur la condition de la troisième colonne dans data.table
Le tableau se présente comme suit:
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
Ce que j'ai besoin est pour chaque groupe obtenir la valeur de la ligne de Col1 où Col2 est le plus proche de 0,5. Col2 est une valeur cumulative qui peut varier de 0 à 1. Le résultat attendu est:
Group Col1
1: A 4
2: B 8
cela peut être fait en data.table ?. J'ai du mal à le faire, donc toute contribution ou conseil sera grandement apprécié. Voici data.table ci-dessus
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))
Merci, c'est une solution très soignée – Camilo