Tri d'un tableau selon la valeur du nom de la ligne

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Gérard Seguin
Messages : 7
Enregistré le : 06 Fév 2012, 17:30
Contact :

Tri d'un tableau selon la valeur du nom de la ligne

Messagepar Gérard Seguin » 26 Mai 2012, 15:10

Bonjour,
La fonction "order" permet de trier un tableau en fonction d'une colonne. Comment trier un tableau en fonction de la valeur du nom de la ligne. Cette question se pose dans le cas suivant.
Le résultat d'une classification (res.hcpc$data.clust) est un tableau dans lequel les lignes sont ordonnées par valeur croissante de la première dimension. On obtient par exemple les lignes dans l'ordre suivant: 105, 97, 98, 101, 100, 103, 76, etc. Comment trier ce tableau pour retrouver les lignes selon l'ordre initial.
Merci pour votre aide

Navarre Julien
Messages : 367
Enregistré le : 20 Avr 2012, 08:27

Messagepar Navarre Julien » 26 Mai 2012, 15:45

Je ne suis pas sur de bien comprendre tu n'aurais pas un petit exemple reproductible ?

Par exemple

Code : Tout sélectionner

fr<- data.frame(lab = c("A", "B", "A", "B", "B", "A", "B", "B", "B", "B"),
+                  val = sample(10))
> fr
   lab val
1    A   1
2    B   9
3    A   8
4    B   2
5    B  10
6    A   4
7    B   6
8    B   5
9    B   3
10   B   7


Tu as un dataframe comme ça et tu aimerai remettre val dans l'ordre croissant ?

Si c'est ça que tu veux faire alors utilises la fonction :

Code : Tout sélectionner

> fr[order(fr$val),]
   lab val
1    A   1
6    A   2
9    B   3
3    A   4
4    B   5
7    B   6
2    B   7
5    B   8
8    B   9
10   B  10


Mais je ne sais pas si j'ai bien compris

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 27 Mai 2012, 06:25

Je pense que Gérard voulait plutôt parler de ça :

Code : Tout sélectionner

val <- as.numeric(rownames(fr))
fr <- fr[order(val),]


Nicolas

Gérard Seguin
Messages : 7
Enregistré le : 06 Fév 2012, 17:30
Contact :

Tri d'un tableau selon la valeur du nom de la ligne

Messagepar Gérard Seguin » 27 Mai 2012, 06:38

Merci à Julien d'avoir répondu et à Nicolas d'avoir trouvé la bonne réponse.

Stéphane Laurent
Messages : 1557
Enregistré le : 05 Déc 2006, 19:07

Messagepar Stéphane Laurent » 28 Mai 2012, 07:59

Il y a une fonction plus convivale qui permet de faire ça:

Code : Tout sélectionner

library(rgr)
?gx.sort.df

Gérard Seguin
Messages : 7
Enregistré le : 06 Fév 2012, 17:30
Contact :

Tri d'un tableau selon la valeur du nom de la ligne

Messagepar Gérard Seguin » 30 Mai 2012, 08:25

Merci à tous

Je pense qu'on peut fermer la discussion


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité