L'intégré par exemple il n'y a pas (1,1) ni (2,1). P> Comment puis-je obtenir toutes les combinaisons? p> p> COMMBN code> ne donne que la moitié des combinaisons:
3 Réponses :
Comme @akrun a dit, il ressemble à expand.grid code> le fera.
Vous pouvez obtenir le produit cartésien à l'aide de sortie: p> utilisant fusion code>:
SQLDF CODE>: P>
df1 <- data.frame(a = 1:5)
df2 <- df1
sqldf("SELECT df1.a, df2.a FROM df1
CROSS JOIN df2")
Ceci est en fait appelé des permutations avec des éléments répétés. Outre les recommandations données, vous pouvez utiliser gtools :: permutations code> fonction:
Je pense que cela devrait être gtools :: combinaisons (5, 2, 1: 5, répéter.Allowed = true) code> Pour suivre la définition des combinaisons avec répétition autorisée, c'est-à-dire \ binom {n + k-1 } {k}
Peut être
expand.grid (repère (liste (1: 5), 2)) code>
Vous pouvez également utiliser
cj code> à partir de
data.table code> pour une combinaison rapide.
COMMUN code> par définition vous donne simplement le triangle supérieur de la matrice combinaison, pour éviter la répétition. Pas la diagonale et pas le triangle inférieur.
FYI, c'est appelé le produit cartésien de i> de
1: 5 code> et
1: 5 code>.