У меня есть этот кадр данных,
dat= rep(c("A", "B", "C"),3)
tat=c(rep("ttt", 6), rep("aaa", 6), rep("ddd", 6))
pct=c(14,7,12,8,11,13,19,6,9,11,13,20,11,18,6,9,10,13)
data=data.frame(dat, tat, pct) %>% group_by(tat) %>% mutate(max= max(pct))
> data
# A tibble: 18 x 4
# Groups: tat [3]
dat tat pct max
<chr> <chr> <dbl> <dbl>
1 A ttt 14 14
2 B ttt 7 14
3 C ttt 12 14
4 A ttt 8 14
5 B ttt 11 14
6 C ttt 13 14
7 A aaa 19 20
8 B aaa 6 20
9 C aaa 9 20
10 A aaa 11 20
11 B aaa 13 20
12 C aaa 20 20
13 A ddd 11 18
14 B ddd 18 18
15 C ddd 6 18
16 A ddd 9 18
17 B ddd 10 18
18 C ddd 13 18
И я хотел бы создать еще одну переменную, которая увеличивала бы значение max на 1 для каждой строки (группировка по переменной tat). Пожалуйста, найдите пример моей палочки ниже. Есть ли у кого-нибудь идея сделать это?
> data2
# A tibble: 18 x 5
# Groups: tat [3]
dat tat pct max ...5
<chr> <chr> <dbl> <dbl> <dbl>
1 A ttt 14 14 14
2 B ttt 7 14 15
3 C ttt 12 14 16
4 A ttt 8 14 17
5 B ttt 11 14 18
6 C ttt 13 14 19
7 A aaa 19 20 20
8 B aaa 6 20 21
9 C aaa 9 20 22
10 A aaa 11 20 23
11 B aaa 13 20 24
12 C aaa 20 20 25
13 A ddd 11 18 18
14 B ddd 18 18 19
15 C ddd 6 18 20
16 A ddd 9 18 21
17 B ddd 10 18 22
18 C ddd 13 18 23
Да !! это именно то, что я хотел, и я чувствую себя глупо, что это было так просто!!