2017-04-16 1 views
1

J'ai un vecteur d'éléments de 1:3générer des combinaisons d'éléments

Je veux générer les combinaisons possibles de ces éléments de telle sorte que je ne 1-2, 1-3 et 2-3.

J'ai essayé avec expand.grid mais obtenir tous ceux possibles quand ce n'est pas ce que je veux. Comment puis-je obtenir les trois principaux facilement?

expand.grid(1:3,1:3) 
    Var1 Var2 
1 1 1 
2 2 1 
3 3 1 
4 1 2 
5 2 2 
6 3 2 
7 1 3 
8 2 3 
9 3 3 
+3

** 'Combn (1: 3,2)' ** –

+0

Brillant! Et comment pourrais-je obtenir le résultat de cela comme «1-2», «1-3», «2-3»? – Bonono

Répondre

2
combn(x = 1:3, m = 2, FUN = paste, collapse = "-") 
#[1] "1-2" "1-3" "2-3" 

#OR 

apply(X = combn(1:3,2), MARGIN = 2, FUN = paste, collapse = "-") 
#[1] "1-2" "1-3" "2-3"