J'ai le paramètre suivant (un exemple de jouet si mon vrai problème):Comment puis-je trouver les indices de l'intersetion des trames de données dans R efficacement?
data1 = data.frame(cbind(1:8,1:8+3,1:8+5))
data2 = data.frame(rbind(c(4,7,9),c(7,10,12)))
ainsi
> data1
X1 X2 X3
1 1 4 6
2 2 5 7
3 3 6 8
4 4 7 9
5 5 8 10
6 6 9 11
7 7 10 12
8 8 11 13
et
> data2
X1 X2 X3
1 4 7 9
2 7 10 12
Comment puis-je trouver les indices si les lignes de data2
dans data1
efficacement? Le résultat dans l'exemple ci-dessus doit être c(4,7)
. J'ai essayé de faire une boucle mais c'est trop inefficace. Merci pour toute aide!
Voici une comparaison entre l'ensemble des approches différentes. Vous pouvez facilement les ajuster pour trouver les mêmes lignes et non les différences. https://www.r-bloggers.com/identifying-records-in-data-frame-a-that-are-not-contained-in-data-frame-b-%E2%80%93-a-comparison/ –