0
votes

Comment répertorier toutes les permutations des événements qui s'est passé dans le bon ordre?

J'ai une table d'événements avec une indication quand ils se produisent. Ils sont déjà commandés par le temps.

earlier    later
sow        water
sow        harvest
water      harvest


6 commentaires

Si les événements sont à l'ordre du temps, pouvez-vous faire: T (COMBN (Events $ Nom, 2)) ?


@Ben Oui, ils sont commandés, ou du moins facilement commandables depuis que j'ai la colonne. Quelle est la fonction t? Je ne me souviens pas de l'avoir vu auparavant, et la recherche de r t ne retourne pas beaucoup de choses pertinentes.


@Ben ah, je vois ça, merci. Et est COMMUT GARANTI de retourner toujours des combinaisons de telle sorte que l'élément avec le "nombre plus petit" soit répertorié d'abord ou est-ce qu'un détail de mise en œuvre pouvant changer théoriquement entre les versions? Je ne vois pas la commande mentionnée dans le fichier d'aide (que j'ai ouverte dans la console cette fois :))


@Ben je serais heureux de le voir comme une réponse. L'inconvénient de l'ordre changeant un jour est purement théorique et il est beaucoup plus concis que les réponses existantes.


Est-ce que cela répond à votre question? Comment générer toutes les combinaisons possibles des vecteurs sans s'occuper de la commande?


@Josephwood non, c'est un problème totalement différent de résoudre ce problème dans cette autre question.


3 Réponses :


0
votes

Après avoir pensé, j'ai réalisé que cela est relativement facile à mettre en œuvre lors de l'utilisation d'expand.Grid en chiffres. xxx


0 commentaires

2
votes

Je suis arrivé à une conclusion similaire à l'aide de Lapply CODE>

df <- lapply(1:nrow(events), function(x) {
              expand.grid(events$name[x], events$name[(x+1):nrow(events)])})
do.call(rbind, df[-nrow(events)])
#>    Var1    Var2
#> 1   sow   water
#> 2   sow harvest
#> 3 water harvest


0 commentaires

2
votes

En supposant que votre colonne soit déjà dans la commande souhaitée, vous pouvez utiliser la fonction COMMAN et transposer: xxx


0 commentaires