Я действительно новичок в r и stackoverflow. Заранее извиняюсь за этот вопрос новичка.
У меня есть набор данных панели, подобный следующей таблице.
1 -------- 5
1 -------- 1
1 -------- 2
1 -------- 5
2 -------- 1
2 -------- 1
2 -------- 5
2 -------- 1
3 -------- 1
3 -------- 3
3 -------- 1
3 -------- 2
Я хочу добавить еще один столбец, как в следующей таблице, когда выбор равен 1. По сути, это упорядочивание выбора 1 в идентификаторе.
1 -------- 5-------- 0
1 -------- 1 --------- 1
1 -------- 2-------- 0
1 -------- 5-------- 0
2 -------- 1 --------- 1
2 -------- 1 --------- 2
2 -------- 5-------- 0
2 -------- 1 --------- 3
3 -------- 1 --------- 1
3 -------- 3 --------- 0
3 -------- 1 --------- 2
3 -------- 2--------1
Заранее спасибо.
Наилучшие пожелания, Паша





Ты можешь попробовать:
library(dplyr)
df %>%
group_by(ID) %>%
mutate(BUS = ifelse(Choice == 1, cumsum(Choice == 1), 0))
# A tibble: 12 x 3
# Groups: ID [3]
ID Choice BUS
<int> <int> <dbl>
1 1 5 0
2 1 1 1
3 1 2 0
4 1 5 0
5 2 1 1
6 2 1 2
7 2 5 0
8 2 1 3
9 3 1 1
10 3 3 0
11 3 1 2
12 3 2 0