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
    Gestion des données dans une data frame
    Bonjour tout le monde,
    J'ai un tableau avec plusieurs variables comme ci-dessous


    [TH]région[/TH]
    [TH]parcelle[/TH]
    [TH]produit[/TH]
    [TH]date[/TH]
    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


    [TH]région[/TH]
    [TH]parcelle[/TH]
    [TH]N°_traitement[/TH]
    [TH]produit[/TH]
    [TH]date[/TH]
    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é
    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
    merci beaucoup pour votre aide, j'ai essayé la première c'est exactement ce que je cherche

###raw>template_hook.ano_emploi###