Comment supprimer des lignes dupliquées par groupe avec l'option permettant de choisir combien de lignes dupliquées conserver?Comment supprimer des lignes dupliquées par groupe?
par exemple: S'il vous plaît vérifier l'image Exemple, pour chaque 1 continue V1
, supprimer les lignes où la Volume
est dupliquée, pour df[2:5,]
ligne 5 seront supprimés, pour df[9:10,]
ligne 9 sera supprimé, df[15:17,]
ligne 15,16 sera supprimé, df[19:20,]
ligne 19 sera supprimé.
De même, est-il possible de choisir combien de lignes dupliquées conserver? Par exemple: si je veux conserver 2 lignes en double, le résultat pour df[15:17,]
sera df[15:16,]
où seule la ligne 17 sera supprimée.
Comment y parvenir sans utiliser des boucles, comment puis-je obtenir ce la façon vectorisé si la vitesse de calcul est plus rapide (en traitant avec des millions de lignes)?
Exemple Photo
Volume Weight V1 V2
1: 0.5367 0.5367 0 1
2: 0.8645 0.8508 1 0
3: 0.8573 0.8585 1 0
4: 1.1457 1.1413 1 0
5: 0.8573 0.8568 1 0
6: 0.5694 0.5633 0 1
7: 1.2368 1.2343 1 0
8: 0.9662 0.9593 0 1
9: 1.4850 1.3412 1 0
10: 1.4850 1.3995 1 0
11: 1.1132 1.1069 0 1
12: 1.4535 1.3923 1 0
13: 1.0437 1.0344 0 1
14: 1.1475 1.1447 0 1
15: 1.1859 1.1748 1 0
16: 1.1859 1.1735 1 0
17: 1.1859 1.1731 1 0
18: 1.1557 1.1552 0 1
19: 1.1749 1.1731 1 0
20: 1.1749 1.1552 1 0
Résultat attendu
Volume Weight V1 V2
1: 0.5367 0.5367 0 1
2: 0.8645 0.8508 1 0
3: 0.8573 0.8585 1 0
4: 1.1457 1.1413 1 0
6: 0.5694 0.5633 0 1
7: 1.2368 1.2343 1 0
8: 0.9662 0.9593 0 1
10: 1.4850 1.3995 1 0
11: 1.1132 1.1069 0 1
12: 1.4535 1.3923 1 0
13: 1.0437 1.0344 0 1
14: 1.1475 1.1447 0 1
17: 1.1859 1.1731 1 0
18: 1.1557 1.1552 0 1
20: 1.1749 1.1552 1 0
Je pense que votre sortie devrait avoir la ligne 9 au lieu de 10 que vous aviez pris la ligne 3 au lieu de la ligne 5 – akrun
@akrun J'utilise des boucles et le code Choisissez des rangées aléatoires pour les garder à chaque fois que le résultat est différent. – Jimmy