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 dedata.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> et1: 5 code>.