J'aimerai avoir un peu d'aide pour incrémenter une variable contenant des valeurs NA (avec un group by ou équivalent) sans prendre en compte ces valeurs NA.
J'ai la dataframe suivante:
Code : Tout sélectionner
[code]
data= rep(c("Jo1", "Jo2", "jo3"),3)
country=c(rep("France", 6), rep("Italy", 6), rep("Spain", 6))
sum2=c(10,8,5,7,18,25,16,6,15,6,16,22,14,8,16,4,17,15)
data=data.frame(data, country, sum2) %>% group_by(country) %>% mutate(max= max(sum2))
data=data %>% group_by(country) %>% mutate(c5=ifelse(sum2>10, max(sum2), NA))
> data
# A tibble: 18 x 5
# Groups: country [3]
data country sum2 max c5
<chr> <chr> <dbl> <dbl> <dbl>
1 Jo1 France 10 25 NA
2 Jo2 France 8 25 NA
3 jo3 France 5 25 NA
4 Jo1 France 7 25 NA
5 Jo2 France 18 25 25
6 jo3 France 25 25 25
7 Jo1 Italy 16 22 22
8 Jo2 Italy 6 22 NA
9 jo3 Italy 15 22 22
10 Jo1 Italy 6 22 NA
11 Jo2 Italy 16 22 22
12 jo3 Italy 22 22 22
13 Jo1 Spain 14 17 17
14 Jo2 Spain 8 17 NA
15 jo3 Spain 16 17 17
16 Jo1 Spain 4 17 NA
17 Jo2 Spain 17 17 17
18 jo3 Spain 15 17 17
[/code]
Et j'aimerai pouvoir incrémenter de 1 la variable c5 (en groupand par country) comme dans l'exemple suivant:
Code : Tout sélectionner
> data2
# A tibble: 18 x 6
# Groups: country [3]
data country sum2 max c5 ...6
<chr> <chr> <dbl> <dbl> <dbl> <dbl>
1 Jo1 France 10 25 NA NA
2 Jo2 France 8 25 NA NA
3 jo3 France 5 25 NA NA
4 Jo1 France 7 25 NA NA
5 Jo2 France 18 25 25 25
6 jo3 France 25 25 25 26
7 Jo1 Italy 16 22 22 22
8 Jo2 Italy 6 22 NA NA
9 jo3 Italy 15 22 22 23
10 Jo1 Italy 6 22 NA NA
11 Jo2 Italy 16 22 22 24
12 jo3 Italy 22 22 22 25
13 Jo1 Spain 14 17 17 17
14 Jo2 Spain 8 17 NA NA
15 jo3 Spain 16 17 17 18
16 Jo1 Spain 4 17 NA NA
17 Jo2 Spain 17 17 17 19
18 jo3 Spain 15 17 17 20
Quelqu'un aurait il une idée pour faire cela ?
Merci d'avance,