Bonjour,

je ne saurais même pas donner un nom approprié à ma manipulation donc dsl si il y a un doublon...

j'ai une colonne 'booléen' et j'aimerai créer une 2e colonne qui identifie un groupe jusqu'au changement d'état:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
c1     c2
0     1
0     1
0     1
1     2
1     2
0     3
0     3
0     3
0     3
1     4
1     4
1     4
Avec mon reflexe de codeur de type 'vba' je vais tourner en boucle sur la colonne et i=1 'while' c1 == 0 puis i=i+1 puis c2=i 'while' c1=1 etc...

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
21
 
i <- 0
l <- 1
while (l<nrow(gpe_data)) {
 
  i <- i+1
 
  while (gpe_data[l,1] == 0) {
    gpe_data[l,2] <- i
    l <- l+1
  }
 
  i <- i+1
 
  while (gpe_data[l,1] == 1) {
    gpe_data[l,2] <- i
    l <- l+1
  }
 
 
}
bon ben c'est bien ça marche mais j'ai a peu près 1 500 000 lignes, c'est donc très long a exécuter et surtout pas la meilleure approche en R. Auriez-vous une idée plus approprié?


Merci pour votre aide. (j’espère que c'est clair et lisible...)