Bonjour,

J'aimerais créer une variable à partir d'autres variables, cependant j'ai des conditions à respecter et je n'arrive par à obtenir le résultat souhaité.
Mon tableau est le suivant :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
x<-data.frame(ID=c(0,1,1,2,2,2,3,3,3,3,3),
              produit=c("A","A","B","C","D","E","G","H","A","Z","A"),
              date=c("12/03/2016","08/04/2016","25/05/2016","13/04/2016","08/05/2016",
                     "10/05/2016","24/04/2016","28/04/2016","28/04/2016","12/05/2016","12/05/2016"))
 
x$date <- as.Date(x$date, format = "%d/%m/%Y")
x$ID <- factor(x$ID)
> x
ID produit       date
0       A 2016-03-12
1       A 2016-04-08
1       B 2016-05-25
2       C 2016-04-13
2       D 2016-05-08
2       E 2016-05-10
3       G 2016-04-24
3       H 2016-04-28
3       A 2016-04-28
3       Z 2016-05-12
3       A 2016-05-12

Je voudrais créer une quatrième variable, qui peut prendre quatre modalités (T0, T1, T2 ou T3). J'ai plusieurs critères :
- si le Produit = A et s'il apparaît à la première date de l'individu alors Top = T0
- si le premier produit d'un individu n'est pas A alors Top= T1 et les suivants sont T2 et T3
- si deux dates sont les mêmes alors ce sont le même Top

Pour être plus claire, je souhaiterais obtenir le tableau suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
y<-data.frame(x,top=c("T0","T0","T1","T1","T2","T3","T1","T2","T2","T3","T3",))
x$top <- factor(x$top)
y
ID produit       date top
0       A 2016-03-12  T0
1       A 2016-04-08  T0
1       B 2016-05-25  T1
2       C 2016-04-13  T1
2       D 2016-05-08  T2
2       E 2016-05-10  T3
3       G 2016-04-24  T1
3       H 2016-04-28  T2
3       A 2016-04-28  T2
3       Z 2016-05-12  T3
3       A 2016-05-12  T3

J'espère que vous pourrez m'aider, je bloque la-dessus depuis un long moment..

Merci par avance,

Virginie