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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : novembre 2019
    Messages : 22
    Points : 23
    Points
    23
    Par défaut Gestion des données dans une data frame
    Bonjour tout le monde,
    J'ai un tableau avec plusieurs variables comme ci-dessous

    région parcelle produit date
    a 1 a 10/06/2019
    a 1 b 15/06/2019
    a 1 c 20/07/2019
    a 2 a 01/05/2019
    a 2 b 03/07/2019
    a 2 b 05/08/2019
    a 2 c 10/08/2019
    a 3 a 15/05/2019
    a 3 b 20/05/2019
    b 4 b 09/07/2019
    b 4 b 10/07/2019
    b 4 c 15/07/2019
    b 5 c 10/08/2019
    b 5 c 15/08/2019
    c 6 d 01/02/2019

    et je voulais créer une nouvelle variable avec le N° de traitement qui prend en considération le nombre de traitements pour chaque parcelle comme ci dessous

    région parcelle N°_traitement produit date
    a 1 1 a 10/06/2019
    a 1 2 b 15/06/2019
    a 1 3 c 20/07/2019
    a 2 1 a 01/05/2019
    a 2 2 b 03/07/2019
    a 2 3 b 05/08/2019
    a 2 4 c 10/08/2019
    a 3 1 a 15/05/2019
    a 3 2 b 20/05/2019
    b 4 1 b 09/07/2019
    b 4 2 b 10/07/2019
    b 4 3 c 15/07/2019
    b 5 1 c 10/08/2019
    b 5 2 c 15/08/2019
    c 6 1 d 01/02/2019

    si vous pouvez m'aider la-dessus et merci

  2. #2
    Membre confirmé
    Inscrit en
    février 2011
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : février 2011
    Messages : 262
    Points : 539
    Points
    539
    Par défaut
    Bonjour,

    tu as pas mal de possibilités pour faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # avec les fonctions de base
    tab$n_traitement <- with(tab, ave(parcelle, parcelle, FUN = seq_along))
    # équivalent de :
    tab$n_traitement <- ave(tab$parcelle, tab$parcelle, FUN = seq_along)
     
    tab$n_traitement <- unlist((tapply(tab$parcelle, tab$parcelle, FUN = seq_along))
     
    # avec la librairie dplyr
    tab %>% group_by(parcelle) %>% mutate(n_traitement = 1:n())
    l'intérêt de la fonction ave et de dplyr c'est que ça fait le job même si le tableau n'est pas trié, à l'inverse de tapply.

    cdlt

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : novembre 2019
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    merci beaucoup pour votre aide, j'ai essayé la première c'est exactement ce que je cherche

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

Discussions similaires

  1. [XL-2007] gestion des données dans une carte du monde
    Par RECO78 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/11/2014, 21h57
  2. Gestion des données dans une archive TAR
    Par zoscoy dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 31/10/2014, 21h38
  3. Réponses: 0
    Dernier message: 24/06/2010, 13h11
  4. Gestion Historique des données dans une table
    Par popof60 dans le forum Access
    Réponses: 3
    Dernier message: 16/02/2007, 16h56
  5. [Conception] Gestion des accents dans une base de données
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/07/2005, 12h41

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