IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Reverse lines data frame inverser l'ordre des lignes d'un data frame


Sujet :

R

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 50
    Points : 50
    Points
    50
    Par défaut Reverse lines data frame inverser l'ordre des lignes d'un data frame
    Dans R la fonction reverse existe mais sur un data frame cela ne concerne que l'ordre des colonnes. En tout cas je n'ai pas trouvé d'équivalent pour les lignes. J'ai donc écrit la fonction. Je ne suis pas un spécialiste de R, loin s'en faut, et mon code est probablement perfectible mais c'est déjà un début...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #Renverse l'ordre des lignes dans un dataFrame
    ReverseLines <- function(x){
      nrx <- nrow(x)
      temp <- x[nrx,]
      j <- 1
      for(i in nrx:1){
        temp[j,] <- x[i,]
        j <- j+1
      } 
      x <- temp
      return(x)
    }

  2. #2
    Membre averti
    Homme Profil pro
    Data Scientist
    Inscrit en
    Août 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data Scientist
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 139
    Points : 316
    Points
    316
    Par défaut
    Bonjour à toi,

    Il est étrange de vouloir changer l'ordre des lignes dans un data.frame. Tu veux trier tes valeurs ? Tu as une condition particulière ?

    Sinon je te conseillerai de regarder la fonction arrange() du package dplyr.

    Si tu numérotes tes lignes de 1 à n dans la variable "num" tu peux ensuite faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df <- arrange(df,desc(num))
    J'espère avoir compris ta requête, bon courage

    PS : je conseille d'ailleurs vivement l'utilisation des packages dplyr, plyr et reshape2 qui permettent d'effectuer relativement simplement des opérations de manipulation de données !

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Janvier 2012
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 325
    Points : 888
    Points
    888
    Par défaut
    Une solution sans utiliser de package :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #Soit df une dataframe
    df[dim(df)[1]:1,]

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 50
    Points : 50
    Points
    50
    Par défaut
    @Chautho
    Merci pour ta réponse. Non il ne s'agit pas de trier les données mais juste d'inverser l'ordre des lignes. Ça peut paraître bizarre mais c'est dû à un traitement préalable de récupération de données avec un chevauchement possible. Mon code pour la récupération n'est peut être pas des plus opérationnels, cela sera l'objet d'un autre post

    @ Theta
    Génial, ça semble être exactement ce dont j'avais besoin. Je vérifierai demain en réel.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 50
    Points : 50
    Points
    50
    Par défaut
    Ça marche, merci de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Inverser l'ordre des bits d'un signal
    Par binome-x dans le forum VHDL
    Réponses: 1
    Dernier message: 19/10/2012, 15h09
  2. Inverser l'ordre des éléments d'un tableau
    Par nitch01 dans le forum Débuter
    Réponses: 5
    Dernier message: 28/10/2009, 08h18
  3. Inverser l'ordre des lignes ?
    Par tintin72 dans le forum Débuter
    Réponses: 8
    Dernier message: 16/12/2008, 13h57
  4. l'ordre des lignes dans un Select
    Par comment_ca dans le forum Oracle
    Réponses: 15
    Dernier message: 05/10/2006, 11h08
  5. [C#] Inverser l'ordre des éléments d'une Hashtable
    Par lancer83 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 31/08/2006, 20h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo