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
Partager