Vérifier si deux vecteurs contiennent les mêmes (non ordonnée) des éléments dans les R

J'aimerais vérifier si deux vecteurs contiennent les mêmes éléments, même s'ils ne sont pas commandé le même. Par exemple, la fonction (appelons SameElements) doit satisfaire à ces critères:

SameElements(c(1, 2, 3), c(1, 2, 3))  # TRUE
SameElements(c(1, 2, 3), c(3, 2, 1))  # TRUE
SameElements(c(1, 2, 1), c(1, 2))  # FALSE
SameElements(c(1, 1, 2, 3), c(3, 2, 1))  # FALSE

Edit 1: Spécifié que la fonction doit retourner F lorsque les vecteurs contiennent les mêmes éléments, mais avec des fréquences différentes.

Edit 2: Nettoyé question d'omettre première réponse, comme c'est maintenant dans ma réponse réelle.

  • Que diriez -all(a %in% b). Il répond pour l'essentiel à la question Sont tous les éléments de a contenues dans le vecteur b? Si les valeurs sont uniques, alors vous pourriez aussi utiliser quelque chose comme anyNA(match(a,b))
  • Ah bon appel, désolé n'était pas clair. Je suis à la recherche de F dans ce scénario (question édité pour plus de clarté).
InformationsquelleAutor Max Ghenis | 2015-01-12