Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Faire le max des 25 première valeurs
4 participants
Page 1 sur 1
Faire le max des 25 première valeurs
Bonjour,
c'est une question bête mais bizarrement je ne trouve pas la solution. En fait je voudrais récupérer l'indice des lignes (afin de récupérer toute la ligne) des 25 valeurs les plus élevés.
Est ce que vous connaissez la fonction qui fait ça?
Merci
c'est une question bête mais bizarrement je ne trouve pas la solution. En fait je voudrais récupérer l'indice des lignes (afin de récupérer toute la ligne) des 25 valeurs les plus élevés.
Est ce que vous connaissez la fonction qui fait ça?
Merci
Re: Faire le max des 25 première valeurs
Salut,
ça m'étonnerait qu'il y ait une fonction qui fasse ça directement mais si tu détailles un peu plus sous quelle forme sont tes données et ce que tu veux ça doit être assez simple.
Nik
ça m'étonnerait qu'il y ait une fonction qui fasse ça directement mais si tu détailles un peu plus sous quelle forme sont tes données et ce que tu veux ça doit être assez simple.
Nik
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: Faire le max des 25 première valeurs
Idem que Nik, ormi bidouiller un truc avec la fonction which(,arr.ind = TRUE) (puisque which.max ne propose pas de renvoyer les indices si mes souvenirs sont exact) je pense pas que ça soit réalisable en 1 ligne.
Re: Faire le max des 25 première valeurs
Mes données sont un tableau individus, variables. Je voudrais savoir quels sont les individus qui ont les 25 plus grandes valeurs dans une variable quanti.
je peux faire un tri est récupérer les 25 premières lignes mais j'ai une centaine de tableau donc s'il y a une autre méthode je suis preneur !!
je peux faire un tri est récupérer les 25 premières lignes mais j'ai une centaine de tableau donc s'il y a une autre méthode je suis preneur !!
Re: Faire le max des 25 première valeurs
c'est pas très clair...c'est toujours les mêmes 25 lignes dans les 100 tableaux qui vont avoir les valeurs max pour la variable quanti ? Les tableaux ont les mêmes dimension ?
Si c'est ça et que tu veux , alors tu peux faire un index comme ça :
Si les tableaux ne sont pas au même format et/ou que l'index peut changer d'un tableau à l'autre alors il faut faire une boucle.
Si c'est ça et que tu veux , alors tu peux faire un index comme ça :
- Code:
index <- 1:nrow(tableau)[order(quanti,decreasing=T)][1:25]
Si les tableaux ne sont pas au même format et/ou que l'index peut changer d'un tableau à l'autre alors il faut faire une boucle.
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: Faire le max des 25 première valeurs
Tu veux le max des 25 premières valeures ou les 25 plus grandes valeur ?
Car dans un des deux cas, je te conseille d'exporter ta table vers Excel avec la fonction write.csv2()
Car dans un des deux cas, je te conseille d'exporter ta table vers Excel avec la fonction write.csv2()
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: Faire le max des 25 première valeurs
Merci de vos réponses. Je veux les 25 max parmi toutes les lignes de mon tableau. Le problème c'est que j'ai 100 tableau totalement indépendant avec un nombre de lignes différents pour chaque tableaux donc pas de cbind et de boucle.
Apparemment il n'existe pas de fonction sous R alors que Excel effectivement le fait très facilement. avec sa fonction GRANDE.VALEUR.
Je vais utiliser ton code @Nik pour créer ma fonction.
Apparemment il n'existe pas de fonction sous R alors que Excel effectivement le fait très facilement. avec sa fonction GRANDE.VALEUR.
Je vais utiliser ton code @Nik pour créer ma fonction.
Re: Faire le max des 25 première valeurs
Au pire, exporte vers Excel et fait un tri.
Crées une nouvelle variable indice de ligne et ce sera plus simple, tu pourras traiter la variable.
Crées une nouvelle variable indice de ligne et ce sera plus simple, tu pourras traiter la variable.
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: Faire le max des 25 première valeurs
Solution :
#ta table s'appelle essai
#tu veux traiter la variable age
#création d'une variable qui compte le numéro de l'observation
essai$n=1:nrow(essai)
#tri par ordre décroissant de la table
essai2=essai[order(essai$age,decreasing=TRUE),]
#ensuite tu te d
#ensuite tu récupères les 25 premières valeurs
essai[1:25,x]
#où x est la xème variable n
#ta table s'appelle essai
#tu veux traiter la variable age
#création d'une variable qui compte le numéro de l'observation
essai$n=1:nrow(essai)
#tri par ordre décroissant de la table
essai2=essai[order(essai$age,decreasing=TRUE),]
#ensuite tu te d
#ensuite tu récupères les 25 premières valeurs
essai[1:25,x]
#où x est la xème variable n
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Sujets similaires
» Rsique de première espèce
» Occurence de valeurs
» valeurs de réferences
» ACM : valeurs propres
» Valeurs manquantes
» Occurence de valeurs
» valeurs de réferences
» ACM : valeurs propres
» Valeurs manquantes
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum