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 :

Extraction de données d'un data.frame


Sujet :

R

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Extraction de données d'un data.frame
    Bonjour,

    Mes données sont présentés comme le tableau suivant (normalement sur une année complète avec une vingtaine de données par jours) :

    Date Turbidite Niveau Débit
    01/01/2012 1 1 500
    01/01/2012 2 2 500
    02/01/2012 1 1 600
    02/01/2012 2 2 600

    Mon problème : j'ai besoin d'extraire pour chaque date -> 1 valeur maximale de turbidité, 1 valeur maximale de niveau (hauteur d'eau) et la valeur de débit.

    Mais je ne sais pas s'il faut utiliser une boucle for, la fonction apply ou autre...

    Merci par avance aux personnes qui sauront m'aider

  2. #2
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour
    Code R : Sélectionner tout - Visualiser dans une fenêtre à part
    aggregate(Turbidite ~ Date, Data,  FUN=max)
    Je ne suis pas sur du sens de la formule entre Turbidite et Date, mais l'idée doit être là.
    Au plaisir.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Génial !

    C'est exactement ce qu'il me fallait, maintenant j'aimerai savoir comment les remettre dans l'ordre car c'est dans un format désorganisé :/

    Date Turbidite
    1 01/02/12 83
    2 01/03/12 232
    3 01/04/12 412
    4 01/05/12 187
    5 01/06/12 147
    6 01/07/12 235
    7 01/08/12 263
    8 01/09/12 703
    9 01/10/12 967
    10 01/11/12 777
    11 01/12/12 594
    12 02/02/12 131
    13 02/03/12 305
    14 02/04/12 489

    Ensuite je pourrai créer une matrice avec mes données et les traiter

  4. #4
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Ca me fait plaisir de voir autant d’entrain.

    Pour trier des dates
    Code R : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Data$Date <- as.Date(Data$Date)
    Data[order(Data$Date),]

    Au plaisir.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    C'est naturel vous m'aidez grandement

    En tapant vos lignes de code, voilà mon résultat. Le soucis vient-il des données ou de moi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Turb<-aggregate(Turbidite ~ Date, complet2012,  FUN=max)
    Turb$Date <- as.Date(Turb$Date)
    Turb[order(Turb$Date),]
              Date Turbidite
    1   0001-02-12        83
    2   0001-03-12       232
    3   0001-04-12       412
    4   0001-05-12       187
    5   0001-06-12       147
    6   0001-07-12       235
    7   0001-08-12       263
    8   0001-09-12       703
    9   0001-10-12       967

  6. #6
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Essayez ceci :
    Code R : Sélectionner tout - Visualiser dans une fenêtre à part
     as.Date(Turb$Date, "%d/%m/%y")
    Au lieu de :
    Au plaisir.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Je viens d'essayer avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Turb[order(Turb[,1],decreasing=F), ]
            Date Turbidite
    1   01/02/12        83
    2   01/03/12       232
    3   01/04/12       412
    4   01/05/12       187
    5   01/06/12       147
    6   01/07/12       235
    7   01/08/12       263
    8   01/09/12       703
    9   01/10/12       967
    Cela ne marche pas non plus, après si je modifie mes données sous EXCEL avec pour le 24/01/12 = 24 cela pourrait très bien marcher mais je perdrais la date en tant que telle :/

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    > Turb$Date <-  as.Date(Turb$Date, "%d/%m/%y")
    > Turb[order(Turb$Date),]
              Date Turbidite
    245 2012-01-24       116
    257 2012-01-25       137
    269 2012-01-26       185
    281 2012-01-27       132
    293 2012-01-28       127
    305 2012-01-29        97
    317 2012-01-30        81
    328 2012-01-31        82
    1   2012-02-01        83
    Ca marche

    Merci beaucoup pour votre aide

    Bonne soirée

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

Discussions similaires

  1. Extraction de certaines lignes d'un data frame
    Par doc funky dans le forum R
    Réponses: 2
    Dernier message: 17/06/2015, 13h01
  2. Réponses: 1
    Dernier message: 28/04/2014, 21h01
  3. Extraction d'un data frame
    Par bsangoku dans le forum R
    Réponses: 1
    Dernier message: 17/06/2013, 09h53
  4. Problèmes données data.frame
    Par vincent1989 dans le forum R
    Réponses: 4
    Dernier message: 15/02/2013, 19h26
  5. Ajouter des données à un data frame
    Par orland dans le forum R
    Réponses: 3
    Dernier message: 05/12/2012, 12h47

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